作者:王少飞
先看下官网的一个demo。
定时更新当前元素,
拿这个例子分析下setState的实现原理:
首先是reactComponent的setState方法,
将新的状态放到队列中 ,
新的状态是立即更新还是后面render更新(这个例子是在batchedUpdate中更新的情况),
这里采用事务处理为了可以执行用户绑定的生命周期的方法,要更新的状态最终放到dirtyComponents中 ,
最终dirtyComponents中的数据经过diff后渲染到页面。