ReactDOM.render ->
创建fiberRootNode及rootFiber并将两者关联->
初始化updateQueue->
创建Update
来开启一次更新->
将reactDOM.render的入参组件及callback放在update上
update放入updateQueue中-》
调度更新-》
render阶段-》
commit阶段-》
this.setState->
通过组件实例获取fiber节点-》
获取优先级-》
创建update-》
将setState的入参放到update上-》
将update放到fiber.updateQueue中-》
调度更新-》
render阶段-》
commit阶段-》
注:
this.forceUpdate()
当某次更新含有tag
为ForceUpdate
的Update
,那么当前ClassComponent
不会受其他性能优化手段
(shouldComponentUpdate
|PureComponent
)影响,一定会更新
参考原处: