繁体   English   中英

从子项打印父状态时遇到问题(ReactJS)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM