美文网首页
异步setState

异步setState

作者: meluyue | 来源:发表于2017-08-03 15:44 被阅读0次

很多时候我们在执行setState之后再执行某些方法,如果单纯把该方法放到setState函数之后,你可能会很惊奇的发现该方法在setState执行结束前已经执行了。

点击按钮后执行的结果为:first 1    second 2

从上面的程序已经可以发现setState()方法是异步的,console.log('first', this.state.number)在setState执行结束前已经执行了,添加定时器让我们的代码在setState之后执行并不是一个好的主意,我们并不知道setState方法什么时候执行结束。

在React官方的API中setState给出这样的描述:setState(object nextState[, function callback])。第一个参数是需要改变的状态,第二可选参数是一个回调函数,该函数在 setState 执行完毕并且组件重新渲染完成之后调用。

我们想在setState方法执行后执行我们的代码,不妨把我们的代码放到setState的回调函数。上述代码可修改为:

代码执行结果:first 2

相关文章

网友评论

      本文标题:异步setState

      本文链接:https://www.haomeiwen.com/subject/aoyplxtx.html