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