>웹 프론트엔드 >JS 튜토리얼 >사용자 로그아웃 시 Redux Store 상태를 재설정하는 방법은 무엇입니까?

사용자 로그아웃 시 Redux Store 상태를 재설정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-25 17:58:14957검색

How to Reset the Redux Store State on User Logout?

사용자 세션 관리를 위한 Redux Store 상태 재설정

Redux는 애플리케이션의 상태 관리를 위한 강력한 프레임워크를 제공합니다. 데이터 무결성을 보장하려면 사용자가 로그아웃할 때 저장소를 초기 상태로 재설정해야 할 수도 있습니다. 이렇게 하면 이전 사용자와 관련된 데이터가 캐시되어 다음 사용자의 경험에 잠재적으로 영향을 미치는 것을 방지할 수 있습니다.

Custom Root Reducer

스토어를 재설정하는 한 가지 접근 방식은 다음과 같습니다. 개별 감속기에 처리를 위임하는 사용자 정의 루트 감속기를 만듭니다. 그러나 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 Store 상태를 재설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.