私はこれらのパッケージをインストールすることで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の状態変化を持続させるにはどうすればよいですか?
関連した質問
- React:アクションはプレーンオブジェクトでなければなりません
- TypeError:react-reduxで未定義のプロパティ 'map'を読み取れません
- Reduxで未定義のプロパティ「タイプ」を読み取れません
- redux-toolkitのcreateSliceメソッドを使用して、さまざまなレデューサー関数で単一アクションタイプを使用する方法
- ReduxからのReact状態の更新により、最大更新深度がエラーを超えました
- React-Redux:ネストされた配列を別の配列に割り当てるアクションをディスパッチしようとしているときに無効なフック呼び出し
- javascriptプロパティが挿入されたURLをフェッチしますが、UTF-8文字がコンソールに表示され続け、404が発生します
- NextJsはサーバー側のレンダリングを介してFacebookタグをレンダリングします
- React Nativeエラー失敗したプロップタイプ:タイプ `array`の無効なプロップ` children`が `Overlay`に提供されました。
- svg要素の幅と高さを制御する方法
gatsby-plugin-react-reduxにredux-persistを追加しました。ここで見つけることができます:
https://www.npmjs.com/package/gatsby-plugin-react-redux-persist
これは最初のリリースですが、機能しているようです:)
編集:
preloadedStateを使用すると、再水和中にredux-persistがタイムアウトになることがわかります。それがあなたにも起こるかどうかはわかりませんが、スキップできます。