这是我的persistConfig
和store
代码,我想为tracking
添加blacklist
,但没有对于所有跟踪状态,但仅针对 tracking.checkingOut
、tracking.checkingIn
和 tracking.searching
,如何正确执行此操作?我知道如果我想完全删除跟踪,我需要在 persistConfig
中编写 blacklist: ['tracking']
,但我不确定该怎么做嵌套状态的情况。
const persistConfig = {
key: 'root',
storage: AsyncStorage,
}
const persistedReducer = persistReducer(persistConfig, reducers)
const createStoreWithMiddleware = applyMiddleware(thunkMiddleware)(createStore);
export const store = createStoreWithMiddleware(persistedReducer);
export const persistor = persistStore(store);
如果我像这样添加黑名单: blacklist: ['tracking.checkingOut', 'tracking.checkingIn', 'tracking.searching'] 会起作用吗?或者对此应该有不同的方法?
最佳答案
您可以在 reducer 树的更深处使用 persistReducer
:
combineReducers({
location,
i18n,
tracking: persistReducer({ key: 'tracking', storage: AsyncStorage, blacklist: ['whateverYouWantTo'] }),
})
redux-persist
的官方文档中有一个示例 - https://github.com/rt2zz/redux-persist#nested-persists
关于reactjs - 如何为嵌套状态制作 redux-persist 黑名单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58483934/