Reactjs 反应,错误的父状态

Reactjs 反应,错误的父状态,reactjs,Reactjs,我有一个父母,还有一些孩子的。关于父母,我有一个状态: this.state = { valuesInInput: {} } 我给一些孩子的: render() { return ( <div className="App"> <NomForm data={this.state.data} crtID={this.state.selectedID} <NomData tableName={this.state.tableNam

我有一个父母,还有一些孩子的。关于父母,我有一个状态:

this.state = {
  valuesInInput: {}
}
我给一些孩子的:

render() {
return (
  <div className="App">
    <NomForm data={this.state.data} crtID={this.state.selectedID}
    <NomData tableName={this.state.tableName} data={this.state.data} setCrtID={this.setCurrentID} />
      handleValueInInput={this.handleValueInInput} addData={this.addData} />
  </div>
);
}
在这里,当我输入console.log valueInInput时,它工作得非常好。 第二条:

 handleValueInInput = async (field, value) => {
  let cpy = Object.assign({}, this.state.valuesInInput);
  cpy[field] = value;
  await this.setState(() => { return { valueInInput: cpy } });
 }
在这里,我将valueOfInput作为一个空对象,尽管我在第一次调用setCurrentID时在其中抛出了一些数据。在rest中,工作正常,我有键和值,但只有一个元素。 关于儿童尺寸: -setCurrentID是一个子组件中onClick按钮事件的处理程序; -handleValueInInput是第二个子组件中onChange输入文本框的处理程序

每样东西单独工作都很好。其原理是,首先使用setCurrentID设置valueInInput,然后在handleValueInInput上使用它。它不起作用,我尝试了一些forceUpdate(),没有乐趣。每次,在HandleValue中输入状态值InInput in empty

任何帮助,请。。。谢谢大家!

是的,我找到了! 通常输入值与输入值不同。两天后,我使用React开发者工具发现了这个错误。使用它,我发现我有一个错误的状态。非常有用的东西。一个初学者的错误,我不确定国家行为。
我放弃了这个异步/等待的东西,现在它像一个符咒一样工作。

你为什么要等待设置状态?@JMadelaine:我只有一个星期的时间了。在互联网的某个地方,我见过这种方法。因为我读过setState是异步的。无论如何,这是最后一个极端错误的版本。我也尝试过不使用async/await。我在第一个函数中设置的状态在第二个函数中不可用。我错过了一些东西,但我不知道是什么。等待是用来等待承诺的。你说这是你第一周学习反应。这也是你学习JavaScript的第一周吗?在学习React之前,您应该先学习JavaScript的基础知识。
 handleValueInInput = async (field, value) => {
  let cpy = Object.assign({}, this.state.valuesInInput);
  cpy[field] = value;
  await this.setState(() => { return { valueInInput: cpy } });
 }