我有一个简单的React组件,它有一个输入字段,附加了onChange事件。 触发onChange事件,并使用输入字段中的值更新某个组件状态。但是我注意到控制台记录时状态是一个字符behinde。因此,如果我输入“Hello”,控制台会显示状态为
H 上的''
上的'H'HEL上的'E'
地狱上的'L' 在'L'
怎么样?
答案 0 :(得分:4)
this.setState
是异步的。这意味着记录的时间控制台无法与更新的时间状态匹配
如果您想在状态更改后查看确切的值,则必须执行以下操作
this.setState({ 'updated': 'state'}, () => {
console.log(this.state.updated);
});