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

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
props 是只讀的
你可以在 render 里進(jìn)行轉(zhuǎn)換
你這樣用是不對(duì)的,按照你這樣,經(jīng)過 props 轉(zhuǎn)換的 state 既可以由子組件改變,也會(huì)被父組件的 props 改變,不符合 react 的設(shè)計(jì)原則。
添加回答
舉報(bào)
0/150
提交
取消