在Redux中的CombineReducers中传播一个reducer结果

时间:2018-11-24 11:54:27

标签: javascript reactjs redux

我正在将2个化简one: {a, b, c}, two: {x, y, z}合并为1,但我希望one会在结果中传播。像这样的东西:

{
  a,
  b,
  c,
  two : {x, y, z}
}

我尝试过:

combineReduceres({...one, two})

但这会导致:

{ two : {x, y, z}}

有人对此有任何解决方案吗?

1 个答案:

答案 0 :(得分:2)

恐怕不可能这样做。至少使用提供的API。

docs中所述:

  

combineReducers()产生的状态在传递给combineReducers()的键名下对每个化简器的状态进行命名空间。

但是您可以通过编写自定义组合器来实现此功能。

这是一个可以正常工作的沙箱:

Edit Stackoverflow#53457875

注意:该代码是redux代码库中可用代码的简化版本。排除了一些验证部分,以使代码更简单。您可以找到完整的combineReducers代码here