1
0
Fork 0
Browse Source

vault backup: 2022-04-19 17:45:48

master
YuJian 3 years ago
parent
commit
ac7e3a601d
  1. 54
      React 的源码深入/Fiber 数据结构.md

54
React 的源码深入/Fiber 数据结构.md

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