gatsby-plugin-react-redux-persist

    1.1.0 • Public • Published

    gatsby-plugin-react-redux-persist

    A Gatsby plugin for react-redux with built-in server-side rendering support and persistance.

    Install

    npm install --save gatsby-plugin-react-redux-persist react-redux redux redux-persist

    How to use

    ./src/state/createStore.js // same path you provided in gatsby-config

    import { createStore } from 'redux';
    import { persistStore, persistReducer } from 'redux-persist';
    import storage from 'redux-persist/lib/storage';
     
    function reducer() {
      //...
    }
     
    const persistConfig = {
      key: 'root',
      storage,
    };
    const persistedReducer = persistReducer(persistConfig, reducer);
     
    export default (preloadedState = {}) => {
      const store = createStore(
        persistedReducer,
        preloadedState, // initial state
      );
      const persistor = persistStore(store);
      return { store, persistor };
    }
     

    ./gatsby-config.js

    module.exports = {
      plugins: [
        {
          resolve: `gatsby-plugin-react-redux-persist`,
          options: {
            // [required] - path to your createStore module
            pathToCreateStoreModule: './src/state/createStore',
            // [optional] - options passed to `serialize-javascript`
            // info: https://github.com/yahoo/serialize-javascript#options
            // will be merged with these defaults:
            serialize: {
              space: 0,
              // if `isJSON` is set to `false`, `eval` is used to deserialize redux state,
              // otherwise `JSON.parse` is used
              isJSON: true,
              unsafe: false,
              ignoreFunction: true,
            },
            // [optional] - if true will clean up after itself on the client, default:
            cleanupOnClient: true,
            // [optional] - name of key on `window` where serialized state will be stored, default:
            windowKey: '__PRELOADED_STATE__',
          },
        },
      ],
    };

    For more informations about redux-persist visit their website

    Thanks

    Thanks to Leonid Nikiforenko for original plugin.

    License

    MIT

    Install

    npm i gatsby-plugin-react-redux-persist

    DownloadsWeekly Downloads

    295

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    13.9 kB

    Total Files

    9

    Last publish

    Collaborators

    • avalla