三. Fiber数据结构
Fiber的基本结构
分为4类:和dom实例相关,构建Fiber树相关,状态数据相关,副作用相关
-
DOM实例相关:
tag:标记不同的组件类型
type:组件类型 div、span、组件构造函数
stateNode: 实例对象, 如类组件的实例、原生 dom 实例, 而 function 组件没有实例 -
构建Fiber树相关:
return:指向自己的父级 Fiber 对象
child:指向自己的第一个子级 Fiber 对象
sibling:指向自己的下一个兄弟 iber 对象 -
状态数据相关:
pendingProps:将更新的 props
memoizedProps: 旧的 props
memoizedState:旧的 state -
副作用相关:
updateQueue:Fiber 对应的组件产生的状态更新会存放在这个队列里面
effectTag:记录当前 Fiber 要执行的 DOM 操作
firstEffect:存储要执行的 DOM 操作
nextEffect: 单链表用来快速查找下一个 side effect
expirationTime:任务的过期时间
mode: 当前组件及子组件处于何种渲染模式