I'm using apollo-client, apollo-link and react-apollo, I want to fully disable cache, but don't know how to do it.
I read the source of apollo-cache-inmemory
, it has a config
argument in its constructor, but I can't build a dummy storeFactory
to make it works.
You can set defaultOptions
to your client like this:
const defaultOptions = {
watchQuery: {
fetchPolicy: 'network-only',
errorPolicy: 'ignore',
},
query: {
fetchPolicy: 'network-only',
errorPolicy: 'all',
},
}
const client = new ApolloClient({
link: concat(authMiddleware, httpLink),
cache: new InMemoryCache(),
defaultOptions: defaultOptions,
});
fetchPolicy
as network-only
avoids using the cache.
Actually, setting fetchPolicy
to network-only
"still saves the response to the cache for later use, bypassing the reading and forcing a network request".
If you really want to disable the cache, read and write, use no-cache
.
Take a look at the official docs: https://www.apollographql.com/docs/react/advanced/caching.html#ignore