redux-persist合并persistReducer和rootReducer时报错

发布于 2022-09-11 15:34:33 字数 1662 浏览 16 评论 0

redux-persist合并persistReducer和rootReducer时报错

const persistConfig = {

key: 'root',
sessionStorage,
stateReconciler: autoMergeLevel2

};

//在这一步会报错
const persistedReducer = persistReducer(persistConfig, rootReducer);

function configureStore (initialState) {

const middleware = applyMiddleware(thunk);
const createStoreWithMiddleware = compose(middleware);

const store = createStoreWithMiddleware(createStore)(
    rootReducer,
    initialState,
    persistedReducer
);
const persistor = persistStore(store);
//var store = createStore(rootReducer, initialState);
//module.hot 这个是 webpack 热加载的处理,你也可以不要它
if (module.hot) {
    module.hot.accept('../reducers', () => {
        const nextReducer = require('../reducers/index');
        store.replaceReducer(nextReducer);
    });
}
return {store, persistor};

}
module.exports = configureStore;

Cannot read property 'type' of undefined
//源码中的这个action没有值
if (action.type === _constants.PERSIST) {

  var _sealed = false;
  var _rehydrate = function _rehydrate(payload, err) {
    // dev warning if we are already sealed
    if (false) console.error('redux-persist: rehydrate for "' + config.key + '" called after timeout.', payload, err);

    // only rehydrate if we are not already sealed
    if (!_sealed) {
      action.rehydrate(config.key, payload, err);
      _sealed = true;
    }
  };
  timeout && setTimeout(function () {
    !_sealed && _rehydrate(undefined, new Error('redux-persist: persist timed out for persist key "' + config.key + '"'));
  }, timeout);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文