Redux 로컬 스토리지를 사용하는 리듀서와 사용하지 않는 리듀서 분리

AKSU·2022년 2월 19일
0
  • 로딩스피너 화면을 공통으로 사용하기 위해서 리덕스를 사용했는데, 해당 리듀서를 다른 리듀서와 마찬가지로 로컬스토리지에 저장해서 사용했다.
  • 그런데 로딩스피너는 로컬스토리지에서 저장해서 사용하면 안된다 왜냐하면 새로고침을 해도 팝업이 남아있을 수 있기때문이다

    persistConfig에서 blacklist에 로컬스토리지를 사용하지 않는 리듀서를 추가해주면 해당 리듀서는 로컬스토리지를 사용하지 않는다.

const persistConfig = {
  key: 'root',
  // blacklist에 로컬스토리지(persist 사용X)를 사용하지 않을 리듀서를 추가
  blacklist: ['loadingReducer', 'searchInfoReducer'],
  storage,
  transforms: [createTransform(encode, decode)],
}

const rootReducer = persistReducer(
  persistConfig,
  combineReducers({
    deviceListInfoReducer,
    branchInfoReducer,
    deviceDetailInfoReducer,
    // deviceEnrollInfoReducer,
    tooltipInfoReducer,
    noticeInfoReducer,
    standbyScreenReducer,
    videoCreationReducer,
    videoDistributionReducer,
    deviceSearchReducer,
    distributeSearchReducer,
    scenarioVersionReducer,
    menuInfoReducer,
    searchInfoReducer,
    loadingReducer,
  }),
)
profile
경돌이

0개의 댓글