首页 > 其他 > 详细

setState浅析

时间:2020-05-24 09:31:29      阅读:49      评论:0      收藏:0      [点我收藏+]

在React中,当更改state时,不能直接通过this.state更改,而应该通过setState更改。setState会引起某一组件更新后的重绘,会引起新旧虚拟DOM的比较(diff算法)。

因此如果每次更改state都立即执行,进行重绘就会很耗费性能。

因此,对于setState根据情况而决定,是立即更改(同步执行),还是放入队列后批量更新(异步执行)

在React中,对于React引发的事件处理函数中的setState,是异步的。而除此之外的,如addEventListener、setTimeout等回调函数中setState是同步的。

当调用setState时,会判断isBatchingUpdates属性值,当为true的时候立即更新,当为false的时候放入队列中,等待批量更新

setState浅析

原文:https://www.cnblogs.com/ashen1999/p/12945817.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!