Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 组合减速器_Javascript_Ecmascript 6_Redux_Reducers - Fatal编程技术网

Javascript 组合减速器

Javascript 组合减速器,javascript,ecmascript-6,redux,reducers,Javascript,Ecmascript 6,Redux,Reducers,//在配置文件中 export reducers = combineReducers ({ app: ..., user: ..., display:..., }) 这会导致一个状态树,看起来像这样 const rootReducer = combineReducers ({ form: formReducer, apollo: apolloReducer, reducers }) 我想要这个 { form: {...}, apollo: {...

//在配置文件中

export reducers = combineReducers ({
   app: ...,
   user: ...,
   display:...,
})
这会导致一个状态树,看起来像这样

const rootReducer = combineReducers ({
   form: formReducer,
   apollo: apolloReducer,
   reducers
})
我想要这个

{
  form: {...},
  apollo: {...},
  reducers: {
    app: {...},
    user: {...},
    display: {...}
  }
}

我试过…减速器,但没用。提前感谢

您可以拥有一个包含所有减速器的对象

{
  form: {...},
  apollo: {...},
  app: {...},
  user: {...},
  display: {...}
}
然后你就可以

export reducers = {
   app: ...,
   user: ...,
   display:...,
}

我希望这种对象方法会奏效。无论如何,我认为CombinedReducer能够解决这个问题。
CombinedReducer
返回的只是一个函数,一个普通的减速机。不能在其上使用扩展运算符。您可以做的是“减少”这些“减缩器”,即有一个同时运行
减缩器
根减缩器
的减缩器。例子:
const rootReducer = combineReducers ({
   form: formReducer,
   apollo: apolloReducer,
   ...reducers
})