0
比方说,我有一个很大的组件,需要state
中的10个不同的值。嵌套状态以减少通过的道具数量
我可以把它分割成更小的组件,以提高可读性,虽然我不除重用任何其他地方的部分组成 - 他们仍然是太具体,因为他们需要知道太多关于国家是有用的。
因此,我将至少6个不同的道具传递给每个子组件。所以,当我通过缩小组件来提高可读性时,同时,通过为每个子组件传递太多道具来使可读性更差。
所以我想着如何解决这个问题的不同方法。
1.
组状态为一个值来移动它周围容易
例如而不是
{
a: 1,
b: 2,
c: 3
}
其存储为
{
abc: {
a: 1,
b: 2,
c: 3
}
}
然后传递给孩子的组件作为一个道具。
2.
由于我的子组件是无状态的,只是通过状态<Child {...this.state} />
。
使用终极版,并通过
store
,不过,我可能是错的,但我认为,依靠store.getState
会变成我的简单的子组件到容器(在终极版而言)。
道歉,如果这个问题太泛化。
在你的状态下使用析构函数你在2中显示的方式是好的,我想。 – stinodes
您还可以结合方法1和3,将您的状态拆分为一个redux存储区,并仅连接父组件(容器),然后将一些数据通过道具传递给子组件 – Freez