bugfix> javascript > 投稿

私はこれらのパッケージをインストールすることでgatsbyでreduxを使用しています:

react react-redux gatsby-plugin-react-redux

これはstore.jsファイルです:

import { createStore } from 'redux';
import { reducer } from './reducer';
export default (preloadedState) => {
    return createStore(reducer, preloadedState);
};

gatsby-config.js

module.exports = {
    plugins: [
        {
            resolve: `gatsby-plugin-react-redux`,
            options: {
                pathToCreateStoreModule: './src/redux/store',
                cleanupOnClient: false
            }
        }
    ]
};

cleanupOnClientをfalseに設定しましたが、ページを更新しても、状態は古いバージョンのままであり、永続化されていません。

gatsbyでreduxの状態変化を持続させるにはどうすればよいですか?

回答 1 件
  • gatsby-plugin-react-reduxにredux-persistを追加しました。ここで見つけることができます:

    https://www.npmjs.com/package/gatsby-plugin-react-redux-persist

    これは最初のリリースですが、機能しているようです:)

    編集:

    preloadedStateを使用すると、再水和中にredux-persistがタイムアウトになることがわかります。それがあなたにも起こるかどうかはわかりませんが、スキップできます。

    export default () => {
      const store = createStore(
        persistedReducer,
        {}, // initial state
      );
      const persistor = persistStore(store);
      return { store, persistor };
    }
    
    

あなたの答え