react面试题-setState是什么原因决定异步还是同步的?

react面试题-setState是什么原因决定异步还是同步的?

this.state是否异步,关键是看是否命中 batchUpdata 机制,命中就异步,未命中就同步。

关于batchUpdate机制咱们看下官网的主流程图:

react面试题-setState是什么原因决定异步还是同步的?_第1张图片

react面试题-setState是什么原因决定异步还是同步的?_第2张图片

912100090)]

查看batchUpdate是否命中是决定setState异步或者同步的关键,如图所示,如果命中代表当前是异步,会执行保存组件到dirtyComponents中,如果没有命中会走右边,遍历所有dirtyComponents并执行调用和更新操作,当前就是同步。

*陆荣涛前端学习交流Q群858752519
加群备注:CSDN推荐

react面试题-setState是什么原因决定异步还是同步的?_第3张图片

你可能感兴趣的:(前端面试真题,react.js,前端,javascript,html5)