當一個子組件需要改修父組件傳來的props時候(想了一下的確有這種場景),可以在初始化的時候賦值給自己的 stateconstructor (props) { this.state = {
foo: props.foo
}
}然后在組件內部操作 state, 但是如果遇到父組件更新 props, 那么子組件的 constructor 是不會再調用的,那么就要這么寫componentWillReceiveProps (nextProps) { this.setState({ foo: nextProps.foo })
}這樣寫是不是有點麻煩,還是我沒有理解其中的真諦。
1 回答

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
props 是只讀的
你可以在 render 里進行轉換
你這樣用是不對的,按照你這樣,經過 props 轉換的 state 既可以由子組件改變,也會被父組件的 props 改變,不符合 react 的設計原則。
添加回答
舉報
0/150
提交
取消