试图找出以下原因:
handleChange = event => {
console.log(event.target.id, event.target.value)
this.setState({
[event.target.id]: event.target.value
});
console.log("New state: ", this.state.buyin)
};
是否记录“未定义”?第一个日志是“ buyin”,(无论我在框中键入什么内容)不确定我做错了什么。任何帮助深表感谢!
问候,
布拉姆
答案 0 :(得分:2)
setState
是异步的,因此在状态更新之前不会设置this.state.buyin
。
您可以使用setState
的第二个参数,它是状态更新后运行的回调函数。
handleChange = event => {
console.log(event.target.id, event.target.value);
this.setState(
{
[event.target.id]: event.target.value
},
() => console.log("New state: ", this.state)
);
};