Skip to content

derickwarshaw/apollo-cache-redux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm version CircleCI

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.

Installation

npm install apollo-cache-redux --save

After 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 underlying InMemoryCache (e.g. fragmentMatcher).

Tests

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:

About

Redux cache for Apollo Client 2.0

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%