[解決済み】ReduxアプリでlocalStorageに書き込む場所は?
2022-04-15 11:59:49
質問
ステートツリーの一部をlocalStorageに永続化したいのですが、どうすればよいですか?これを行うには、どのような場所が適切でしょうか?リデューサーかアクションか?
どのように解決するのですか?
なぜなら、リデューサーは純粋で副作用がないものでなければならないからです。
サブスクライバーでやることだけをお勧めします。
store.subscribe(() => {
// persist your state
})
ストアを作成する前に、それらの永続化されたパーツを読み込んでください。
const persistedState = // ...
const store = createStore(reducer, persistedState)
を使用する場合
combineReducers()
を使用すると、状態を受け取っていないリデューサは通常通りデフォルトの
state
引数の値です。これはかなり便利です。
サブスクライバをデバウンスして、localStorageにあまり速く書き込まないようにすることをお勧めします。
最後に、代替案としてそれをカプセル化したミドルウェアを作成することもできますが、私ならサブスクライバーから始めますね。
関連
-
親子コンポーネント通信を解決する3つのVueスロット
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] JavaScriptで複数行の文字列を作成する
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] JavaScriptの「new」キーワードとは何ですか?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] Reduxのアクションをタイムアウトでディスパッチする方法とは?
-
[解決済み] localStorage、sessionStorage、session、cookieの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
JavaScriptの関数この指摘の問題を説明
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
JavaScriptのクロージャの説明
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
nodejs unhandledPromiseRejectionWarning メッセージ