react-day-picker setState延迟显示在控制台上

时间:2017-12-07 14:11:47

标签: reactjs react-day-picker

在第一个日期选择之后,所选日期不会显示在控制台上并且延迟,并且仅在下一个选择时设置为状态。

这是我的代码的链接。 go to sample code

我错过了什么吗?我希望它能在第一个选择中显示在控制台上。

1 个答案:

答案 0 :(得分:2)

setState 异步。

如果您致电setState并立即使用this.state,则可能无法更新。

如果要设置状态并立即对该更改执行操作,则可以传入回调函数。

因此,在您的情况下,他的代码将起作用:

handleFromChange(from) {
    this.setState({ from }, () => console.log(this.state));
}

文档:

  

setState()不会立即改变this.state但会创建一个   待定状态转换。在调用此文件后访问this.state   方法可以返回现有值。没有   保证同步操作setState和电话可能   为获得业绩增长而受到批评。