1
0
Fork 0
Browse Source

vault backup: 2022-05-08 17:38:10

master
YuJian920 3 years ago
parent
commit
4d2e8a1aa4
  1. 63
      React 的源码深入/React 的流程解析 - Fiber 递归/Fiber 数据结构.md

63
React 的源码深入/React 的流程解析 - Fiber 递归/Fiber 数据结构.md

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

Loading…
Cancel
Save