1、setState执行过程是复杂的,大致过程为更新state、创建虚拟dom、diff算法对比差异最终渲染新的UI。若为同步执行,每次更新这一过程都会重新执行一次,无疑会造成性能问题。异步更新会将多个异步合并成一次,这样设计较为合理。
2、如果同步更新,render函数并没有重新执行,那么就会造成state和props数据不一致。
React 中 setState() 为什么是异步的?
最新推荐文章于 2023-10-08 16:26:26 发布
1、setState执行过程是复杂的,大致过程为更新state、创建虚拟dom、diff算法对比差异最终渲染新的UI。若为同步执行,每次更新这一过程都会重新执行一次,无疑会造成性能问题。异步更新会将多个异步合并成一次,这样设计较为合理。
2、如果同步更新,render函数并没有重新执行,那么就会造成state和props数据不一致。