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

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

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

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

img

img

912100090)]

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

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

请添加图片描述

猜你喜欢

转载自blog.csdn.net/sdasadasds/article/details/125598094