問題タブ [ngrx-effects]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
804 参照

ngrx - ユーザーがログアウトしたときに ngrx/redux ストアから状態をクリアする際の問題

私のアプリケーションはngrx/rxjsを使用しています。サインアウトしてストアから状態をクリアするために、ngrx 効果に依存しています。

残念ながら、コンポーネントの 1 つがセレクター (以下を参照getLatestMessagesByCounterParty) を介してストアをサブスクライブし、このコンポーネントが破棄される前に状態がクリアされるため、次のエラーが発生します。

エラー TypeError: getCurrentUserAccountId で null のプロパティ 'id' を読み取れません

... が であることを示しています。ストアから状態をクリアしたばかりなので、これは非常に論理的ですcurrentUserAccountnull

signout$効果は次のとおりです。

ログイン状態をサブスクライブするコンポーネントは次のとおりです。

関連するセレクター:

どこで、いつ、どのようにストアから状態をクリアするかについてのベスト プラクティスを探しています。理想的には、サブスクライブしているコンポーネントが破棄されたときに、可能な限り最後にそれを行いたいと考えています。

誰かアドバイスしてもらえますか?

編集:コメントをさらに絞り込みましょう。上記の私のコードは次のようになっているはずです。