欢迎来到 SO!
从孩子设置父状态:
如果您希望子组件可以访问父组件的状态,只需setState()
在父类中作为props传递,就像这样......
<PostForm
setParentState={(state) => this.setState(state)}
/>
然后,稍后PostForm.js
,只需像这样设置父状态....
this.props.setParentState(newParentStateObject);
或者,你甚至可以做......
<PostForm
postform={this}
/>
稍后,您可以使用this.props.postform.anyFunctionEver()
.
从父级设置子状态:
假设您现在想做相反的事情:从父组件更新子组件的状态?这同样简单,在定义时设置一个参考<PostForm/>
......
<PostForm
ref={(instance) => {this.postform = instance}}
/>
然后你可以直接在你的父类中设置 postform 的状态......
this.postform.setState(newChildStateObject);
状态可能会发生很多事情,因此如果您不确定,请尝试创建一个testFunc() {console.log('test');}
,然后尝试在父级和子级之间传递/激活它。