如何在redux-persist v5中使用白名单?

时间:2017-10-28 08:18:08

标签: javascript reactjs redux react-redux redux-persist

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

我在Stack Overflow上关注了this answer,如下所示

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

然而,我收到了错误

  

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

然后我在阅读了redux-persist readme file

后尝试了类似下面的内容
const transform = createTransform(null, null, {
  whitelist: [
    'messages'
  ]
});

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

const reducer = persistReducer(config, rootReducer);

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

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

1 个答案:

答案 0 :(得分:3)

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

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

const reducer = persistCombineReducers(config, reducers)

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