NgrxとAngular2を使用してモバイルアプリを構築しています。自分のアプリケーションからユーザーがログアウトしたときにStoreをクリアしたいのですが?誰でもこれを行う方法を知ることができますか?#ngrxの状態をクリアするには?
答えて
これを行う方法は、ストアが登録されているコンポーネントを使用することです。値が変更されたときに、コンポーネントを破棄してinitを強制的に実行する可能性のあるルータのアウトレットまたは構造ディレクティブに置きます。
ストアはコンポーネントのプロバイダとして登録されています(私が間違っている場合を除きます)、それに結び付ける必要があります。コンポーネントが破棄され、新しいコンポーネントで新しいコンポーネントが作成されると破棄する必要があります。ちょっとした考え。私はそれをテストする時間がなかった。
プロバイダを親コンポーネントに登録しないでください。私は注射液が階層を通って働くと信じています。
あなたのレデューサーのそれぞれに明確な行動が必要です。これにより、店舗内のそれぞれのプロパティが消去されます。 logout
に電話するときは、手動で各レデューサーのクリアアクションを送信してください。私は店が一人できれいにするオプションがあれば、今は分かりません。
代替: より洗練された、より速いアプローチがあります。あなたがstore.dispatch
経由で行動を呼び出すたびに、そのすべてのあなたのレデューサーがaction.type
でコールします。あなたの行動タイプの名前がCLEAR
であるとします。あなたのレデューサーのそれぞれにこのアクションを入れて、ストアのそれぞれの特性をクリアしてください。 store.dispatch
をaction.type = 'CLEAR'
と呼び出すと、ストアのすべてのプロパティがクリアされます。
わかりやすい場合は、コードで説明しようとします。
古い状態はまだ保存されていないのですか(状態から時間旅行を許可する機能)? "クリアされた"オブジェクトはまだメモリに保存されませんか? –
解決策は、ルートレデューサーを書き込むことです。
それは、これに似ています:
export function reducer(state: any, action: any): ActionReducer<any> {
if (action.type === 'CLEAR STATE') {
state = undefined;
}
return appReducer(state, action);
}
はこれを確認してください:How to reset the state of a Redux store?
- 1. ngrxルート状態へのレイジーロードアクセス
- 2. 状態のスライスをクリアするには
- 3. 子コンポーネントのNGRXと状態管理
- 4. ngrx /ストア状態の更新セレクタ
- 5. Angular2 + ngrx/store:ループ内の状態を変更する方法は?
- 6. アプリケーションの状態ストアをクリアする
- 7. マルチビュー - クリア状態を表示
- 8. Ngrx非同期初期状態
- 9. ファンクションによる設定のクリアと状態のクリア
- 10. NGRX/@Effectsを使用してフォームの状態を処理する
- 11. ngrxで現在の状態を取得する
- 12. ページの変更にRedux状態クリア
- 13. 還元状態でのクリア状態アクションのディスパッチ
- 14. NgRx - 状態がどのようにスライスされるか
- 15. ngrxでどの状態値が変化するかを知るには?
- 16. ngrxの店舗の以前の状態を削除するには?
- 17. @ngrx store.selectを使って常に状態を出力するには?
- 18. NGRXで状態を変更した後でコードを実行するには?
- 19. Anggular 2でngrx/storeとngrx/effectsを使用した状態管理
- 20. deleteItemsAtIndexPathsのUICollectionViewCellの選択状態クリアUIButton
- 21. Reduxでのアレイ状態のクリア
- 22. Reactの状態変数をクリアする方法は?
- 23. チェックボックスのチェック状態をクリアする方法は? vueで
- 24. Kafka Streams - 状態ストアの削除/クリア
- 25. サブスクライブなしで現在のngrx状態を取得
- 26. ngRx状態の更新とエフェクトの実行順序
- 27. Microsoft Bot Framework - クリア会話状態
- 28. angular/ngrx store 4:コンポーネントテストで状態を初期化しない
- 29. 還元状態をクリアする最良の方法
- 30. 角度2 - ngrxはすべての状態変更で実行されます。
を私はダウン投票を理解していません。これは正当な潜在的な答えです。それがうまくいかない場合は、コメントに追加してください。それがあなたが望む答えのタイプでないなら、あなたはあなたの質問でより具体的にする必要があります。 – wiredprogrammer