【React】哪些數據應該放到state中?

1.識別出最小的(可是完整的)表明UI的state:

爲了正確構建應用,首先須要考慮應用須要的最小的可變 state 數據模型集合。此處關鍵點在於精簡:不要存儲重複的數據。構造出絕對最小的知足應用須要的最小 state 是有必要的,而且計算出其它強烈須要的東西。
在判斷哪個是 state 時,簡單地對每一項數據提出三個問題:
1.是不是從父級經過 props 傳入的?若是是,可能不是 state 。
2.是否會隨着時間改變?若是不是,可能不是 state 。
3.能根據組件中其它 state 數據或者 props 計算出來嗎?若是是,就不是 state 。渲染

2.哪一個組件應該擁有哪些state數據模型:

對於應用中的每個 state 數據:
1.找出每個基於那個 state 渲染界面的組件。找出共同的祖先組件(某個單個的組件,在組件樹中位於須要這個 state 的全部組件的上面)。
2.要麼是共同的祖先組件,要麼是另一個在組件樹中位於更高層級的組件應該擁有這個 state 。
3.若是找不出擁有這個 state 數據模型的合適的組件,建立一個新的組件來維護這個 state ,而後添加到組件樹中,層級位於全部共同擁有者組件的上面。數據

相關文章
相關標籤/搜索