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 } });
}