Как очистить все, кроме того, что я не хочу очищать в приставке? - PullRequest
0 голосов
/ 27 февраля 2019

Я ищу, как частично очистить с помощью redux-persist.Я понятия не имею, есть ли у него связанный метод или нет.Вот мои коды, и я знаю, что таким образом будут удалены все состояния.Если у вас есть идеи по этому поводу, пожалуйста, ответьте, я был бы признателен вам.Спасибо:)


const configure = () => {
    const devTools = window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__();
    let store = createStoreWithFirebase(reducer, devTools, applyMiddleware(ReduxThunk));
    let persistor = persistStore(store);

    persistor.purge();
    return {store, persistor};
}

1 Ответ

0 голосов
/ 27 февраля 2019

Если вы хотите сбросить состояние ваших редукторов, вы можете просто создать действие, которое сбросит каждый редуктор до его исходного состояния, кроме тех, которые вы хотите сохранить.

export default function reducer(state = initialState, action) {
    switch (action.type) {
        case RESET_REDUCER_GROUP:
            return { ...initialState };
        default:
            return state;
            }
}

Вы можете установить это в каждом редукторе, который хотите сбросить, таким образом, вам не требуется продувка.

Также вы можете сбросить редуктор с помощьюпереводя его состояние в неопределенное:

const rootReducer = (state, action) => {
  console.log("STATE", state)
  if (action.type === 'RESET') {
    state = undefined
  }

  return appReducer(state, action)
}
...