当前位置:  开发笔记 > 运维 > 正文

具有代码拆分和延迟加载的Reducer的同构Redux

如何解决《具有代码拆分和延迟加载的Reducer的同构Redux》经验,为你挑选了0个好方法。

我正在构建一个使用react router和redux进行代码拆分的同构应用程序.我尽可能地走了,但我需要一些帮助才能找出问题的其余部分.我有一个大型应用程序,需要前端的代码分割.我有一个reducer注册表,使我能够注册新的reducer(延迟加载),或替换我的商店中现有的reducer.这很好用,但是由于我的应用程序部分是延迟加载的,当我在客户端调用combineReducers()时,我的延迟加载的reducers不存在,而它们在服务器上完全解析.这会导致意外的键错误,并强制我的商店忽略处于初始状态的有问题的键.

initialState(来自服务器)

{ "cases": {...}, "user": {...} }

客户端redux期望initialState

这是基于可用的减速器

{ "user": {...} }

加载减速机

UserReducer

懒惰的减速机

CaseReducer

当我调用以下内容时会发生错误

const finalCreateStore = compose(
  applyMiddleware(promiseMiddleware)
)(createStore);
const rootReducer = combineReducers({...reducers})
const store = finalCreateStore(rootReducer, initialState);

在传递给createStore的initialState参数中找到意外的键"case".预计会找到一个已知的reducer密钥:"user".意外的键将被忽略.

一切都在服务器上运行良好,但在客户端上初始化应用程序,同时暂时缺少一个reducer,直到它被加载导致此错误.有谁知道如何解决这个错误,或告诉redux不验证初始状态的形状?我需要"case"才能使用我的延迟加载减速器.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有