除了我不想在 redux-persist 中清除的内容之外,如何清除所有内容?

Min*_*eon 5 reactjs react-native react-redux redux-persist

我正在寻找如何使用 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};
}
Run Code Online (Sandbox Code Playgroud)

lam*_*ing 2

如果您想重置您的减速器的状态,您只需创建一个操作,将每个减速器重置为其初始状态,除了您想要保留的减速器之外。

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

您可以将其放入要重置的每个减速器中,这样您就不需要清除。

您还可以通过将减速器的状态设置为未定义来重置减速器:

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

  return appReducer(state, action)
}
Run Code Online (Sandbox Code Playgroud)