Data · Fetching data from your API

Expo + Apollo Client

Apollo Client in an Expo SDK 57 app for iOS and Android, wired by one command and checked by doctor.

Apollo Client 4 is the GraphQL data layer, wired up in src/lib/apollo.tsx. I'd pick it when your backend speaks GraphQL - you get a normalised InMemoryCache, useQuery / useMutation and a cache-and-network default - and I'd stay on react-query or swr for REST. Refetch-on-foreground is already handled: the client uses Apollo 4.3's RefetchEventManager with the windowFocus source swapped for an AppState observable, so every active query refetches when the app comes back unless it sets refetchOn: false.

When to pick Apollo Client

Apollo Client: Pick it when your backend speaks GraphQL.

At a glance

Runs in Expo Go
Yes
Files added
6
npm packages
3
Keys to paste
EXPO_PUBLIC_GRAPHQL_URL
Included in
Starter and Pro
Tests included
1

Set it up

bun run setup --data apollo

Setup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the Apollo Client docs.

Apollo Client vs other data options

OptionExpo Gonpm packagesKeys to pasteIncluded in
Apollo ClientYes31Starter and Pro
TanStack QueryYes11Free, Starter and Pro
SWRYes11Starter and Pro

Questions

Can I use Apollo Client in Expo Go?

Yes. This module runs in Expo Go, so you can try it before you make a development build.

What do I need to set up Apollo Client in an Expo app?

Run bun run setup --data apollo, then paste one key into .env: EXPO_PUBLIC_GRAPHQL_URL. bun run doctor lists any that are missing, with a link to where you get each one.

Does the ReadyNative free tier include Apollo Client?

No. It ships in Starter and Pro (one payment, lifetime updates); the free tier uses TanStack Query for data.

Can I build the app without Apollo Client?

Yes. Pick none for data (bun run setup --data none) - plain fetch; add TanStack Query/Apollo/SWR later.

Apollo Client or TanStack Query for Expo?

Apollo Client: Pick it when your backend speaks GraphQL. TanStack Query: The default. Reach for it when you want mutations, invalidation and real cache control over a REST API.

Apollo Client or SWR for Expo?

Apollo Client: Pick it when your backend speaks GraphQL. SWR: The same job with a much smaller surface: a string key is a request. Good when you mostly read.

Which Apollo Client version does it install?

For Expo SDK 57: @apollo/client ^4.3.0, graphql ^16.14.2, rxjs ^7.8.2. Setup installs Expo packages with expo install, so they match the SDK.

Get it

Apollo Client ships in Starter and Pro: one payment, lifetime updates. See pricing or browse every module.