输入字段状态在React上发生变化

时间:2018-08-05 14:18:27

标签: reactjs state input-field

试图找出以下原因:

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”,(无论我在框中键入什么内容)不确定我做错了什么。任何帮助深表感谢!

问候,

布拉姆

1 个答案:

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