我知道通常不建议在React中使用嵌套状态。但是,我想知道对于我的用例来说,这种经验法则是否真的成立,如果可以,为什么在这种情况下嵌套是一个坏主意:我正在创建一个非常动态的React应用程序。在启动时,应用程序会收到一个树对象,该对象定义了整个组件树的初始结构和数据,如下所示:
"components": {
"RootComponent": {
"Content": {
"title": "first section",
"type": "ComponentNameA",
},
"Children": {
"ChildComponent1": {
"Content": {
"title": "overview",
"type": "OverviewComponent",
},
"ChildComponent2": {
"Content": {
"title": "modal content",
"type": "ModalComponent",
},
"Children": { ... }
}
}
}
}
在这种情况下,结构反映出 RootComponent 是 ComponentNameA 类型的组件,并且具有2个 ModalComponent 和< em> OverviewComponent 。后者又包含几个孩子。通过遍历每个组件及其所有子组件,直到没有更多的子组件被定义,来呈现这种情况。
我的问题是:我应该规范这个结构吗?如果是这样:为什么?直观地讲,这种数据结构反映了它所使用的组件树/ DOM结构,听起来好像保持其相同的形状更有意义。