2

我尝试在 redux-persist v5 中使用白名单。

我在 Stack Overflow 上关注了这个答案,如下所示

persistStore(store, { whitelist: ['messages'] });

但是,我得到了错误

传递给 persistStore 的无效选项:“白名单”。您可能错误地将persistConfig 传递给persistStore,而它应该传递给persistReducer。

然后我在阅读了 redux-persist自述文件后尝试了类似下面的内容

const transform = createTransform(null, null, {
  whitelist: [
    'messages'
  ]
});

const config = {
  key: 'state',
  storage: localForage,
  transforms: [transform]
};

const reducer = persistReducer(config, rootReducer);

但它不起作用。它仍然通过 localForage 保存所有内容。

那么在 redux-persist v5 中使用白名单的正确方法是什么?

4

1 回答 1

3

如果您使用的是redux-persist v5,则应将PersistConfig作为第一个参数传递persistCombineReducers

const config = {
  key: 'root',
  whitelist: ['messages']
}

const reducer = persistCombineReducers(config, reducers)

注意:他们在 v5 中进行了一些更改,请仔细阅读文档以创建增强型商店,并可选择使用PersistGate

于 2017-10-28T09:09:58.440 回答