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 apolloSetup 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
| Option | Expo Go | npm packages | Keys to paste | Included in |
|---|---|---|---|---|
| Apollo Client | Yes | 3 | 1 | Starter and Pro |
| TanStack Query | Yes | 1 | 1 | Free, Starter and Pro |
| SWR | Yes | 1 | 1 | Starter 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.