如何为嵌套状态创建 redux-persist 黑名单?

Luc*_*irl 3 reactjs react-native redux-persist

这是我的persistConfig和代码store,我想添加blacklistfor tracking,但不是为所有跟踪状态,而只是为tracking.checkingOut, tracking.checkingInand tracking.searching,如何正确执行此操作?我知道如果我想完全删除跟踪,我需要在blacklist: ['tracking']inside 中写入persistConfig,但我不确定在嵌套状态的情况下该怎么做。

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);
Run Code Online (Sandbox Code Playgroud)

如果我像这样添加黑名单: blacklist: ['tracking.checkingOut', 'tracking.checkingIn', 'tracking.searching'] 会起作用吗?或者应该有不同的方法?

Kac*_*zuk 5

persistReducer您可以在减速器树中更深入地使用:

combineReducers({
  location,
  i18n,
  tracking: persistReducer({ key: 'tracking', storage: AsyncStorage, blacklist: ['whateverYouWantTo'] }),
})
Run Code Online (Sandbox Code Playgroud)

官方文档中有一个示例redux-persist- https://github.com/rt2zz/redux-persist#nested-persists