Gatsby plugin for React-Redux with built-in server-side rendering support
npm install gatsby-plugin-react-redux> A Gatsby plugin for
> react-redux with
> built-in server-side rendering support.
npm install --save gatsby-plugin-react-redux react-redux redux
./src/state/createStore.js // same path you provided in gatsby-config
``javascript
import { createStore } from 'redux';
function reducer() {
//...
}
// preloadedState will be passed in by the plugin
export default preloadedState => {
return createStore(reducer, preloadedState);
};
`
./gatsby-config.js`javascriptgatsby-plugin-react-redux
module.exports = {
plugins: [
{
resolve: ,serialize-javascript
options: {
// [required] - path to your createStore module
pathToCreateStoreModule: './src/state/createStore',
// [optional] - options passed to isJSON
// info: https://github.com/yahoo/serialize-javascript#options
// will be merged with these defaults:
serialize: {
space: 0,
// if is set to false, eval is used to deserialize redux state,JSON.parse
// otherwise is usedwindow
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 where serialized state will be stored, default:``
windowKey: '__PRELOADED_STATE__',
},
},
],
};
MIT