作者:王少飞

先看下官网的一个demo。

定时更新当前元素,

​

拿这个例子分析下setState的实现原理:

​

首先是reactComponent的setState方法,

​

​

将新的状态放到队列中 ,

​

​

新的状态是立即更新还是后面render更新(这个例子是在batchedUpdate中更新的情况),

​

​

这里采用事务处理为了可以执行用户绑定的生命周期的方法,要更新的状态最终放到dirtyComponents中 ,

​

​

最终dirtyComponents中的数据经过diff后渲染到页面。

​

​

原文链接:http://ivweb.io/topic/5779552bf525c4613e8b4021

文章来源于腾讯云开发者社区,点击查看原文