react中setState设计成异步的原因

169 阅读1分钟

1.如果每次调用setState都进行一次更新,那么每次都会调用render函数去重新渲染页面,这样效率是非常低的,最好是获取到多个更新再进行批量更新。

2.如果同步更新了state,但是此时render函数还没有执行,state和props的数据不能保存同步,会在开发中产生很多问题。

3.但是在setTimeout和原生DOM事件中,setState是同步的。