Javascript 在redux中,使用组合减速机的预加载状态
我刚刚被介绍到redux,并且在一段时间内遇到了预加载状态的问题 当使用单个减速器时,我使用了下面的代码,它过去工作得很好。相关片段::Javascript 在redux中,使用组合减速机的预加载状态,javascript,reactjs,redux,react-redux,reducers,Javascript,Reactjs,Redux,React Redux,Reducers,我刚刚被介绍到redux,并且在一段时间内遇到了预加载状态的问题 当使用单个减速器时,我使用了下面的代码,它过去工作得很好。相关片段:: const head = (state = {}, action) => { switch (action.type) { case 'TOGGLE_VISIBLITY': if (state.head.content !== action.id) { return state } state.body.vis
const head = (state = {}, action) => {
switch (action.type) {
case 'TOGGLE_VISIBLITY':
if (state.head.content !== action.id) {
return state
}
state.body.visible = !state.body.visible;
return state;
default:
return state
}
}
const heads = (state = [], action) => {
switch (action.type) {
case 'TOGGLE_VISIBLITY':
state.body = state.body.map(t =>
head(t, action)
);
}
return state;
}
export const store = createStore(heads, config);
但是我改成了combinerReducers,它开始出现JS错误
在传递给createStore的PreforedState参数中找到意外键“head”、“body”。希望找到一个已知的减速器键:“头”。意外的键将被忽略
我的零钱是:
const plannerApp = combineReducers({
heads
});
export const store = createStore(plannerApp, config);
如果您想查看完整代码,请访问
任何帮助都是值得赞赏的。先谢谢你。。我感谢您的时间和努力…简而言之,预加载状态需要与减速器的结构相匹配。自从您切换到使用组合转换器以来,您的状态树结构已经发生了变化。现在,您有一个顶级键
heads
,其子键为body
,因此您可能需要更新配置,使其看起来像:
export default {
heads: {
body: {
...
现在,config
对象包含head
和body
的顶级键,它们在状态树的顶级没有条目。简而言之,预加载状态需要与减速器的结构相匹配。自从您切换到使用组合转换器以来,您的状态树结构已经发生了变化。现在,您有一个顶级键heads
,其子键为body
,因此您可能需要更新配置,使其看起来像:
export default {
heads: {
body: {
...
现在,config
对象包含head
和body
的顶级键,它们在状态树的顶级没有条目