我試圖改變一個子組件中的狀態,每次我調用它的父組件中的一個函數。我會如何去做這件事?例如,如何通過在其父級調用函數來更改子組件中的狀態?
class ParentComponent extends Component {
function onClick(){
// some function here to change child components state
}
render(){
return (
<div>
<ChildComponent />
<button onClick={this.onClick.bind(this)}>
</div>
)
}
class ChildComponent extends Component {
constructor(props){
super(props)
this.state = {
MyState: 1
}
}
render(){
return(
<div>
{this.state.MyState}
</div>
)
}
}
的問題是,我想執行'onClick'處理父組件內,因此把的onClick處理程序在我的孩子組件不會是理想的。通過道具傳遞'onClick'不會很理想,因爲我試圖讓這個函數改變子組件的狀態,而不是父母。 –