diff --git a/React 的源码深入/React 的流程解析 - Fiber 递归/Fiber 数据结构.md b/React 的源码深入/React 的流程解析 - Fiber 递归/Fiber 数据结构.md index 6718383..e2f2d2a 100644 --- a/React 的源码深入/React 的流程解析 - Fiber 递归/Fiber 数据结构.md +++ b/React 的源码深入/React 的流程解析 - Fiber 递归/Fiber 数据结构.md @@ -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` : ->存储 update更新对象 的队列,每次发起更新,都需要在该队列上创建一个 update对象 +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 节点的优先值 -