我正在开发一个项目,该项目使用积极的构图(每个组件的树中都有很多组件,每个组件中也有很多组件)并使用 Redux 来管理状态。
例如:
<ComponentA>
<ComponentB>
<ComponentC>
...
<ComponentZ>
</ComponentZ>
</ComponenetC>
</ComponentB>
</ComponentA>
每个组件都将具有它们自己的功能,可以更改应用程序的状态。
管理所有更改应用程序状态的功能的最有效方法是什么?
-使用一个容器组件将ComponentA与动作连接起来,并将所有功能向下传递到组件树中
示例:
<ComponentA
funcB={this.props.funcB}
funcC={this.props.funcC}
...
funcZ={this.props.funcZ}
>
-每个组件都有其自己的容器,因此在组件树中将传递较少的功能,但是每个组件都需要一个额外的组件来进行连接:
<ContainerA>
<ContainerB>
...
<ContainerZ />
</Container>
</ContainerA>
答案 0 :(得分:1)
一种可能的方法是将父级连接到Redux,并让连接的父级驱动其子级,以便子级通过父级传递给他们的道具了解Redux存储更改。并通过调用作为道具传递的父母的方法来改变商店。但是,已关联的父级的孙子将自己连接到Redux商店,而不是他们的孩子,依此类推。
这些组件中的每个组件都有其自己的功能,可以更改应用程序的状态。
如果他们自己的功能更改了Redux存储的自己的子集(或分片),而其他组件则不需要了解这些子存储,或者如果整个存储太大,则可以考虑将其拆分为几个独立的存储。 Link