React中setState是同步还是异步的

setState()同步、异步总结
异步的情况:

由React控制的事件处理函数,以及生命周期函数调用setState时表现为异步 。
大部分开发中用到的都是React封装的事件,比如onChange、onClick、onTouchMove等(合成事件中),这些事件处理函数中的setState都是异步处理的。
注:上面的事件都是React合成事件,不是js原生事件。

同步的情况:

React控制之外的事件中调用setState是同步更新的。
比如原生js绑定的事件,setTimeout/setInterval,ajax,promise.then内等 React 无法掌控的 APIs情况下,setState是同步更新state的

你可能感兴趣的:(React,前端,react.js,javascript,前端)