|
|
|
@ -1,82 +1,81 @@
@@ -1,82 +1,81 @@
|
|
|
|
|
`tag` : |
|
|
|
|
tag : |
|
|
|
|
>表示 Fiber 的类型,根据 ReactElement 组件的 `type` 生成 |
|
|
|
|
|
|
|
|
|
`elementType` : |
|
|
|
|
>大部分时候和 `type` 是相同的 |
|
|
|
|
>FunctionComponent 使用 `React.memo` 会有不同 |
|
|
|
|
elementType : |
|
|
|
|
>大部分时候和 type 是相同的 |
|
|
|
|
>FunctionComponent 使用 React.memo 会有不同 |
|
|
|
|
|
|
|
|
|
`type` : |
|
|
|
|
type : |
|
|
|
|
>FunctionComponent 而言是函数本身 |
|
|
|
|
>ClassComponent 而言是 Class |
|
|
|
|
>Host Component 而言是 DOM 节点的 Tag Name |
|
|
|
|
|
|
|
|
|
`key` : |
|
|
|
|
key : |
|
|
|
|
>和 ReactElement 的 key 属性一致 |
|
|
|
|
|
|
|
|
|
`stateNode` : |
|
|
|
|
stateNode : |
|
|
|
|
>HostComponent 而言,是它的真实 DOM 节点 |
|
|
|
|
>ClassComponent 而言是 clsss 实例 |
|
|
|
|
|
|
|
|
|
`return` : |
|
|
|
|
return : |
|
|
|
|
>指向父节点 |
|
|
|
|
|
|
|
|
|
`child` : |
|
|
|
|
child : |
|
|
|
|
>指向第一个子节点 |
|
|
|
|
|
|
|
|
|
`sibling` : |
|
|
|
|
sibling : |
|
|
|
|
>指向下一个兄弟节点 |
|
|
|
|
|
|
|
|
|
`index` : |
|
|
|
|
index : |
|
|
|
|
>代表在多个同级 Fiber 节点中,它们插入的位置索引 |
|
|
|
|
>单节点默认为 0 |
|
|
|
|
|
|
|
|
|
`ref` : |
|
|
|
|
ref : |
|
|
|
|
>指向在 ReactElement 组件上设置的 ref |
|
|
|
|
|
|
|
|
|
`pendingProps`: |
|
|
|
|
pendingProps: |
|
|
|
|
>组件的属性,也就是 ReactElement 传入的 props |
|
|
|
|
>用于和后边的 `memoizedProps` 属性比较判断组件属性是否发生变化 |
|
|
|
|
>在生成子 Fiber 节点之后被赋值到 `memoizedProps` |
|
|
|
|
>用于和后边的 memoizedProps 属性比较判断组件属性是否发生变化 |
|
|
|
|
>在生成子 Fiber 节点之后被赋值到 memoizedProps |
|
|
|
|
|
|
|
|
|
`memoizedProps`: |
|
|
|
|
>上一次组件生成的属性,用于和上边的 `pendingProps` 进行比较 |
|
|
|
|
memoizedProps: |
|
|
|
|
>上一次组件生成的属性,用于和上边的 pendingProps 进行比较 |
|
|
|
|
|
|
|
|
|
`alternate` : |
|
|
|
|
alternate : |
|
|
|
|
>指向在内存中的另外一条 Fiber 树 |
|
|
|
|
|
|
|
|
|
`updateQueue` : |
|
|
|
|
updateQueue : |
|
|
|
|
>存储 update更新对象 的队列,每次发起更新,都需要在该队列上创建一个 update 对象 |
|
|
|
|
|
|
|
|
|
`memoizedState`: |
|
|
|
|
memoizedState: |
|
|
|
|
>上一次生成子组件之后组件的状态 |
|
|
|
|
|
|
|
|
|
`dependencies`: |
|
|
|
|
dependencies: |
|
|
|
|
>该 Fiber 节点所依赖的 (contexts, events) |
|
|
|
|
|
|
|
|
|
`mode` : |
|
|
|
|
mode : |
|
|
|
|
>和 React 的运行模式有关 |
|
|
|
|
|
|
|
|
|
`flags` : |
|
|
|
|
flags : |
|
|
|
|
>用于标记组件的副作用,reconciler 会将所有存在 flag 标记的 Fiber 节点添加进 effectList 链表中,交给 commit 阶段 |
|
|
|
|
|
|
|
|
|
`subtreeFlags` : |
|
|
|
|
subtreeFlags : |
|
|
|
|
>替代 16.x 版本中的 firstEffect、lastEffect,默认未开启 |
|
|
|
|
|
|
|
|
|
`deletions` : |
|
|
|
|
deletions : |
|
|
|
|
>存储将要被删除的子组件,默认未开启 |
|
|
|
|
|
|
|
|
|
`nextEffect` : |
|
|
|
|
nextEffect : |
|
|
|
|
> 指向下一个有副作用的 Fiber 节点 |
|
|
|
|
|
|
|
|
|
`firstEffect` : |
|
|
|
|
firstEffect : |
|
|
|
|
>指向副作用链表的第一个 Fiber 节点 |
|
|
|
|
|
|
|
|
|
`lastEffect` : |
|
|
|
|
lastEffect : |
|
|
|
|
>指向副作用链表的最后一个 Fiber 节点 |
|
|
|
|
|
|
|
|
|
`lanes` : |
|
|
|
|
lanes : |
|
|
|
|
> Fiber 节点的优先级 |
|
|
|
|
|
|
|
|
|
`childLanes` : |
|
|
|
|
childLanes : |
|
|
|
|
>子 Fiber 节点的优先值 |
|
|
|
|
|
|
|
|
|