React と React Native アプリの状態、ネットワークリクエスト、ログ、エラーを確認できるデスクトップデバッガー。
endograph/redux-persist
アプリの起動時にストアの状態をストレージから復元する、Reduxのミドルウェア風ライブラリです。
- スター
- 12,950
- フォーク
- 839
- 未解決の Issue
- 1
- 最終コミット
- 14 日前
これは何?
redux-persistは、Reduxストアの状態を変更のたびにストレージへ保存し、起動時にストアへ再ハイドレートするため、ページの再読み込みやアプリの再起動後もデータを保持できます。ルートReducerをpersistReducerでラップし、persistStoreでpersistorを作成します。それ以外のアプリ構成はそのままで、Redux Toolkitも追加設定なしで利用できます。
ストレージは差し替え可能です。Web向けにはlocalStorageとsessionStorageが組み込まれており、ストレージエンジンを使えばAsyncStorage、IndexedDB、ファイルシステムなど、ほかのバックエンドも利用できます。allowlistとdenylistで保存するトップレベルのキーを選択でき、より細かく制御するためにReducerをネストして永続化したり、状態の読み書き時に変換したりできます。
バージョン管理された状態にも対応しています。保存データの構造が変わったときはマイグレーションでデータを更新できます。また、Reactバインディングには、保存状態の読み込みが完了するまで描画を遅らせるPersistGateとuseRehydratedが含まれています。
主な機能
- 01ルートReducerをpersistReducerでラップし、persistStoreでpersistorを作成します。
- 02localStorageとsessionStorageに対応し、ほかのバックエンド向けに差し替え可能なストレージエンジンを提供します。
- 03allowlist、denylist、またはフィルター関数で保存するキーを選べます。
- 04ネストした永続化、状態変換、バージョン管理されたマイグレーションに対応します。
- 05Reactで状態の復元が完了するまで待機するためのPersistGateとuseRehydratedを提供します。
ユースケース
- Reactアプリで、ユーザー設定やログイン関連の状態をブラウザーの再読み込み後も保持する。
- AsyncStorageを使うReact NativeアプリでReduxの状態を永続化する。
- IndexedDBまたはファイルシステムを使うPWAやデスクトップアプリで、オフライン用にアプリの状態を保存する。
- リリース間でReduxのSliceの構造が変わったとき、保存済みの状態を安全に更新する。
クイックスタート
- 1
npmからパッケージをインストールします
npm install redux-persist - 2
ストアファイルでルートリデューサーをpersistReducerでラップし、persistStoreでpersistorを作成します
- 3
ルートコンポーネントをredux-persist/reactのPersistGateでラップします(任意、Reactの場合)
使う前に知っておきたいこと
- v7にはRedux Toolkit 2またはRedux 5が必要です。
- v7リリースはベータ版です(nextタグを指定してインストールしてください)。
トピック
よくある質問
- redux-persist とは?
- アプリの起動時にストアの状態をストレージから復元する、Reduxのミドルウェア風ライブラリです。 redux-persistは、Reduxストアの状態を変更のたびにストレージへ保存し、起動時にストアへ再ハイドレートするため、ページの再読み込みやアプリの再起動後もデータを保持できます。ルートReducerをpersistReducerでラップし、persistStoreでpersistorを作成します。それ以外のアプリ構成はそのままで、Redux Toolkitも追加設定なしで利用できます。
- redux-persist は無料で使えますか?ライセンスは?
- redux-persist は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- redux-persist は今もメンテナンスされていますか?
- 活発にメンテナンス中。redux-persist の最終コミットは 2026年10月7日 です。
- redux-persist は何に使えますか?
- Reactアプリで、ユーザー設定やログイン関連の状態をブラウザーの再読み込み後も保持する。 AsyncStorageを使うReact NativeアプリでReduxの状態を永続化する。 IndexedDBまたはファイルシステムを使うPWAやデスクトップアプリで、オフライン用にアプリの状態を保存する。 リリース間でReduxのSliceの構造が変わったとき、保存済みの状態を安全に更新する。
- redux-persist のインストール方法は?
- npmからパッケージをインストールします: npm install redux-persist ストアファイルでルートリデューサーをpersistReducerでラップし、persistStoreでpersistorを作成します ルートコンポーネントをredux-persist/reactのPersistGateでラップします(任意、Reactの場合)
- redux-persist はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/endograph/redux-persist
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Reactなどのビューライブラリと併用できる、予測可能で保守しやすいグローバル状態管理のためのJavaScriptライブラリ。
Provider不要の、React向け小型フックベースの状態管理ライブラリ。
現在の状態のドラフトを変更するだけで、不変な状態更新を書けるJavaScriptライブラリです。
ReduxストアをhooksやProviderでReactコンポーネントに接続する、Redux公式のReactバインディングです。
ReduxなどのプレーンなJavaScriptのstateからデータを導出する、メモ化セレクター関数を作成するTypeScriptライブラリです。