ユーザーのログアウト時に Redux ストアの状態をリセットするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 17:58:14
オリジナル
928 人が閲覧しました

How to Reset the Redux Store State on User Logout?

ユーザーセッション管理のための Redux ストア状態のリセット

Redux は、アプリケーションの状態管理のための堅牢なフレームワークを提供します。データの整合性を確保するために、ユーザーがログアウトするときにストアを初期状態にリセットすることが必要になる場合があります。これにより、前のユーザーに関連付けられたデータがキャッシュされ、次のユーザーのエクスペリエンスに影響を与える可能性がなくなります。

Custom Root Reducer

ストアをリセットする 1 つの方法は、次のとおりです。個々のリデューサーに処理を委任するカスタム ルート リデューサーを作成します。ただし、USER_LOGOUT アクションのデフォルトの動作をオーバーライドし、初期状態を返します。

const appReducer = combineReducers({
  /* your app’s top-level reducers */
})

const rootReducer = (state, action) => {
  if (action.type === 'USER_LOGOUT') {
    return appReducer(undefined, action)
  }

  return appReducer(state, action)
}
ログイン後にコピー

Redux-Persist によるストレージ クリーンアップ

redux-persist を使用している場合は、キャッシュされた状態をストレージからクリアするには追加の手順が必要です。これには、適切なストレージ エンジンをインポートし、未定義に設定する前に状態を解析し、各ストレージ状態キーをクリアすることが含まれます。

const rootReducer = (state, action) => {
    if (action.type === SIGNOUT_REQUEST) {
        // for all keys defined in your persistConfig(s)
        storage.removeItem('persist:root')
        // storage.removeItem('persist:otherKey')

        return appReducer(undefined, action);
    }
    return appReducer(state, action);
};
ログイン後にコピー

これらの戦略を実装することで、次の場合に Redux ストアを効果的に初期状態にリセットできます。ユーザーがログアウトすると、データの整合性と後続のユーザーのシームレスなユーザー エクスペリエンスが確保されます。

以上がユーザーのログアウト時に Redux ストアの状態をリセットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート