react-fiber 解析
作者:互联网
react 运行时存在 3 种实例。
- DOM 真实 DOM 节点
- Instance React 维护的 vDOM
- Element 描述 UI 长什么样子 (type,props)
- effect:1、每个 workInProgress tree 节点上都有一个 effect list;2、用来存放 diff 结果;3、当前节点更新完毕会向上 merge effect list (queue 收集 diff 结果)
- workInProgress:workInProgress tree 是 reconcile 过程中从 fiber tree 建立的当前进度快照,用于断点恢复。
- fiber:fiber tree 与 vDOM tree 类似,用来描述增量更新所需的上下文信息。
- (可中断)render / reconciliation 通过构造 workInProgress tree 得出 change
- (不可中断)commit 应用这些 DOM change
commit:
- 处理 effect list (包括 3 种处理:更新 DOM 树、调用组件生命周期函数以及更新 ref 等内部状态)
- 出队结束,第 2 阶段结束,所有更新都 commit 到 DOM 树上。
- componentWillMount
- componentWillReceiveProps
- shouldComponentUpdate
- componentWillUpdate
- componentDidMount
- componentDidUpdate
- componentWillUnmount
标签:fiber,DOM,tree,react,Fiber,解析,workInProgress,vDOM 来源: https://www.cnblogs.com/fjl-vxee/p/11069940.html