apollo-cache-redux is a cache implementation backed by Redux for Apollo Client 2.0.
It heavily reuses cache normalization code from apollo-cache-inmemory.
Works with Redux 3.x and 4.x .
npm install apollo-cache-redux --saveAfter installing the package:
import { ReduxCache, apolloReducer } from 'apollo-cache-redux';
import { createStore, combineReducers } from 'redux';
import { HttpLink } from 'apollo-link-http';
import ApolloClient from 'apollo-client';
const store = createStore(
combineReducers({
apollo: apolloReducer
...otherReducers
})
);
const cache = new ReduxCache({ store });
const client = new ApolloClient({
link: new HttpLink(),
cache
});The following options are accepted for ReduxCache:
store. An existing Redux store. If you don't have one, please create it as per the example above.reduxRootSelector(optional). Customises the reducer name for the cache (default:apollo).- Other options accepted by
InMemoryCache, to customise the underlyingInMemoryCache(e.g.fragmentMatcher).
Apart from the unit tests in this repo, this cache implementation was tested with the apollo-client and react-apollo end-to-end tests.
Until there's a better way to bring them to this repo, they will reside in their own branches of these projects: