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. 状態のスライスをクリアするには
- 2. マルチビュー - クリア状態を表示
- 3. ngrxで現在の状態を取得する
- 4. ngrxでどの状態値が変化するかを知るには?
- 5. Anggular 2でngrx/storeとngrx/effectsを使用した状態管理
- 6. NGRXで状態を変更した後でコードを実行するには?
- 7. deleteItemsAtIndexPathsのUICollectionViewCellの選択状態クリアUIButton
- 8. Reduxでのアレイ状態のクリア
- 9. 選択状態をクリアせずにテーブルビューのデータを再ロード
- 10. ui-selectが無効状態のときにフィールドをクリアする方法は?
- 11. エフェクトで状態ツリーにアクセスするにはどうすればよいですか? (@ ngrx /エフェクト2.xの)
- 12. ngrxメタリデューサでアプリケーション状態を再水和するためにAngular 2 Httpクライアントを使用する
- 13. ASP.NETのすべてのユーザーのSQLセッション状態をクリアする方法
- 14. Angularjs 1.4.7 - 送信後にフォームをクリアして元の状態に戻す
- 15. 反応状態を別の状態に追加する
- 16. スリープ状態にあるQThreadをスリープ状態にしますか?
- 17. GPSの状態をテストするには?
- 18. Ngrx angular 2初期状態をどのように設定すればよいですか?
- 19. リサイズした状態でコンソールウィンドウをクリアするとIOExceptionが発生する
- 20. `gcloud.datastore`はどこでローカルのdev状態を保持しますか?それをクリアするには?
- 21. なぜリダイレクトリファクタリング後にngrxアプリで状態が未定義になったのですか?
- 22. RFCOMM_CreateConnection - 既に開いている状態:2、RFC状態:4、MCB状態:5
- 23. アンドロイドのアクティビティ状態を開始した状態に戻す
- 24. 状態コントローラは、私は2つの状態を有する未予想通り
- 25. android firebaseにログイン状態とログアウト状態を保持する方法は?
- 26. 休止状態:休止状態の接続を変更する
- 27. UNKNOWN状態を移動するための状態
- 28. stateparmsは、stateParamsを別の状態に渡すと、現在の状態
- 29. は状態
- 30. jspのtogglzのアクティブ状態と非アクティブ状態をチェックする方法は?
を私はダウン投票を理解していません。これは正当な潜在的な答えです。それがうまくいかない場合は、コメントに追加してください。それがあなたが望む答えのタイプでないなら、あなたはあなたの質問でより具体的にする必要があります。 – wiredprogrammer