Package Exports
- apollo3-cache-persist
- apollo3-cache-persist/lib/cjs/index.js
- apollo3-cache-persist/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (apollo3-cache-persist) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
apollo3-cache-persist

Simple persistence for all Apollo Client 3.0 cache implementations, including
InMemoryCache and Hermes.
Supports web and React Native. See all storage providers.
Basic Usage
npm install --save apollo3-cache-persistor
yarn add apollo3-cache-persistTo get started, simply pass your Apollo cache and an
underlying storage provider to persistCache.
By default, the contents of your Apollo cache will be immediately restored (asynchronously, see how to persist data before rendering), and will be persisted upon every write to the cache (with a short debounce interval).
Examples
React Native
import AsyncStorage from '@react-native-async-storage/async-storage';
import { InMemoryCache } from '@apollo/client/core';
import { persistCache, AsyncStorageWrapper } from 'apollo3-cache-persist';
const cache = new InMemoryCache({...});
// await before instantiating ApolloClient, else queries might run before the cache is persisted
await persistCache({
cache,
storage: new AsyncStorageWrapper(AsyncStorage),
});
// Continue setting up Apollo as usual.
const client = new ApolloClient({
cache,
...
});Web
import { InMemoryCache } from '@apollo/client/core';
import { persistCache, LocalStorageWrapper } from 'apollo3-cache-persist';
const cache = new InMemoryCache({...});
// await before instantiating ApolloClient, else queries might run before the cache is persisted
await persistCache({
cache,
storage: new LocalStorageWrapper(window.localStorage),
});
// Continue setting up Apollo as usual.
const client = new ApolloClient({
cache,
...
});See a complete example in the web example.
Contributing
Want to make the project better? Awesome! Please read through our Contributing Guidelines.
Maintainers
We all do this for free... so please be nice 😁.