单击提交按钮后,变量不会立即更新

时间:2018-10-07 23:39:46

标签: reactjs

我有一个基本的“ onButtonSubmit”函数,当单击表单提交按钮时会调用该函数。

该表单有效,并且“ ticker_symbol”确实更新了,因为我可以console.log()了。问题是尽管“ console.log()”在第二次单击表单按钮之前不会打印出其中的内容。第一次是一个空字符串。因此,由于某种原因,这不会立即更新。

有人知道如何确保在第一次调用函数时设置ticker_symbol吗?这是怎么回事?

下面是带有问题和相关功能的功能片段:

awscli
 google-cloud-storage

1 个答案:

答案 0 :(得分:0)

第二次显示该值的原因是因为setState是异步的。当第二次单击时,异步操作可能已经完成,这就是为什么该值存在的原因。

可以将回调函数附加到setState方法,以便您可以安全地执行任意操作,并确保该值确实存在。

this.setState({ticker_symbol: this.state.input},() => console.log('this will happen after setState has finished');