[英]Trouble with printing parent state from child (ReactJS)
我正在尝试使用父级来控制编辑器组件和保存组件。 父组件具有以下功能:
constructor() {
super();
this.state = {
code: "",
current_program: 'new'
}
}
updateCode(event) {
this.setState({
code: event
});
}
save() {
console.log(this.state.code);
}
在它的渲染组件中,我有这个:
<IDE code={this.state.code} updateCode={this.updateCode}/>
<Browser save={this.save.bind(this)} programs={this.props.programs} />
IDE成功调用了update,并且当我将更新代码功能的输出记录在父级中时,它可以正常工作。 但是...在我的浏览器组件中,我有以下内容:
<Button className="width-30" bsStyle="primary" onClick={() => this.props.save()}>
<Glyphicon glyph="save" /> Save
</Button>
单击时,它会显示“”,这是否与在更新父状态的代码之前绑定“ this”这一事实有关? 只是打印旧状态? 我该如何更新? 谢谢。
编辑:我从IDE组件调用此: onChange={this.props.updateCode.bind(this)}
解决了它:我将CHILD的状态绑定到IDE组件中,这意味着正在更新,将父级中IDE组件的实现更改为以下内容: <IDE code={this.state.code} updateCode={this.updateCode.bind(this)}/>
,允许状态正确更新
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.