Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在redux中,使用组合减速机的预加载状态_Javascript_Reactjs_Redux_React Redux_Reducers - Fatal编程技术网

Javascript 在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

我刚刚被介绍到redux,并且在一段时间内遇到了预加载状态的问题

当使用单个减速器时,我使用了下面的代码,它过去工作得很好。相关片段::

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
的顶级键,它们在状态树的顶级没有条目