我在React Boilerplate中有一个关于嵌套Redux状态的查询,如果有人可以帮助我解决这个问题,我将不胜感激。
希望这应该很容易回答,因为这是一个基本问题。
根据redux文档,最可取的是将redux状态作为域分开。
{
simpleDomainData1: {....},
simpleDomainData2: {....},
entities : {
entityType1 : {....},
entityType2 : {....}
},
ui : {
uiSection1 : {....},
uiSection2 : {....}
}
}
如何在react-boilerplate
中实现这种状态结构?我一直在使用内置生成器创建我的容器,并将它们保持在同一级别,如:
App
|__ Components
|__ Containers
|__ Container1
|__ Container2
|__ Container3
|__ Container4
:
:
我的redux状态是超级规范的,就像这样:
{
route: {
location: {
....
}
},
container1: {
data: {}
},
container2: {
data: {}
},
container3: {
data: {}
},
container4: {
data: {}
}
}
但是我现在在一个需要将容器2和3嵌套在容器1中的位置(根据业务逻辑)。如何在我的redux商店中镜像此结构?
{
route: {
location: {
....
}
},
container1: {
data: {
container2: {
data: {...}
},
container3: {
data: {...}
},
}
},
container4: {
data: {}
}
}
我们如何使用injectReducer
来实现嵌套状态?还是大家都使用另一种方法? TIA!
我尝试在Container1
下定义/Container1
的所有化简器,从而使我可以控制整个状态,但这似乎是一种反模式
我还没有尝试将Containers
2和3嵌套在Container1
中,因为我不知道injectReducer
实用程序在这种情况下如何工作。
(我也在Gitter上发布了此信息)