在 React Redux 项目中,使用激进组合的最有效方法是什么?



我正在开发一个使用激进组合的项目(每个组件在其树中都会有很多组件,并且每个组件也会有大量组件(并使用Redux来管理状态。

例如:

<ComponentA>
<ComponentB>
<ComponentC>
...
<ComponentZ>
</ComponentZ>
</ComponenetC>
</ComponentB>
</ComponentA>

其中每个组件都有自己的函数,可以更改应用的状态。

管理更改应用程序中状态的所有函数的最有效方法是什么?

- 使用将组件 A 与操作连接起来的容器组件,并在组件树中向下传递所有函数

例:

<ComponentA
funcB={this.props.funcB}
funcC={this.props.funcC}
...
funcZ={this.props.funcZ}
>

-每个组件都有自己的容器,因此在组件树中传递的函数较少,但每个组件都需要一个额外的组件才能进行连接:

<ContainerA>
<ContainerB>
...
<ContainerZ />
</Container>
</ContainerA>

一种可能的方法是将父级连接到 Redux,并让连接的父级驱动其子级,以便子级通过父级传递给他们的 props 了解 Redux 存储更改。并通过调用父级作为道具传递的方法来更改存储。但是,连接的父级的孙子孙女将自己连接到Redux商店,而不是他们的孩子,依此类推。

其中每个组件都有自己的函数,可以更改应用的状态。

如果它们自己的函数更改了自己的 Redux 存储子集(或切片(,而其他组件不需要注意这些子集(或切片(,并且如果整个存储太大,那么您可以考虑将其拆分为几个独立的存储。链接

最新更新