0
這是否被認爲是反模式?我可以訪問狀態中的其他狀態變量嗎?
state = {
a: true,
b: !this.state.a,
}
如果沒有,我怎麼能做到這一點,因爲this.state
內state
是undefined
?
這是否被認爲是反模式?我可以訪問狀態中的其他狀態變量嗎?
state = {
a: true,
b: !this.state.a,
}
如果沒有,我怎麼能做到這一點,因爲this.state
內state
是undefined
?
如果b
可能源自a
,則不應同時存儲a
和b
狀態。
不需要的狀態是一種不好的做法 - 一種代碼氣味,如果你喜歡這樣命名 - 這可以使你的組件類更難。嘗試考慮避免和重構組件類以避免創建不需要的狀態。永遠記住真相原理的單一來源 - 它可以讓你的組件類更容易編寫和維護。請記住,每個非規範化的狀態字段都是一個可能的錯誤向量。
編號:http://reactkungfu.com/2015/09/common-react-dot-js-mistakes-unneeded-state/
作爲一種理論實踐,完全同意。但是,這完全忽略了許多推導過程昂貴的現實。 – Alexander
同意你倆。我也有一種感覺,我應該避免派生狀態變量,但手動派生過程是昂貴的。 –