You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
- Fiber 中带有 effcet 名称的属性代表与副作用相关,Host Component 中的 DOM 的增删改查,Functuon 中的 useEffect、useLayoutEffect
|
|
|
|
- Fiber 中的 lanes 属性和 childLanes 属性与 Fiber 的优先级的调度有关
|
|
|
|
- Fiber 中的 alternate 属性则表示了 Fiber 的工作方式
|
|
|
|
|
|
|
|
`tag` :
|
|
|
|
> 表示 Fiber 的类型,根据 ReactElement 组件的 `type` 生成
|
|
|
|
|
|
|
|
`elementType` :
|
|
|
|
> 大部分时候和 `type` 是相同的
|
|
|
|
> FunctionComponent 使用 `React.memo` 会有不同
|
|
|
|
|
|
|
|
`type` :
|
|
|
|
> FunctionComponent 而言是函数本身
|
|
|
|
> ClassComponent 而言是 Class
|
|
|
|
> Host Component 而言是 DOM 节点的 Tag Name
|
|
|
|
|
|
|
|
`key` :
|
|
|
|
> 和 ReactElement 的 key 属性一致
|
|
|
|
|
|
|
|
`stateNode` :
|
|
|
|
> HostComponent 而言,是它的真实 DOM 节点
|
|
|
|
> ClassComponent 而言是 clsss 实例
|
|
|
|
|
|
|
|
`return` :
|
|
|
|
> 指向父节点
|
|
|
|
|
|
|
|
`child` :
|
|
|
|
> 指向第一个子节点
|
|
|
|
|
|
|
|
`sibling` :
|
|
|
|
> 指向下一个兄弟节点
|
|
|
|
|
|
|
|
`index` :
|
|
|
|
> 代表在多个同级 Fiber 节点中,它们插入的位置索引
|
|
|
|
> 单节点默认为 0
|
|
|
|
|
|
|
|
`ref` :
|
|
|
|
> 指向在 ReactElement 组件上设置的 ref
|
|
|
|
|
|
|
|
`pendingProps`:
|
|
|
|
> 组件的属性,也就是 ReactElement 传入的 props
|
|
|
|
> 用于和后边的 `memoizedProps` 属性比较判断组件属性是否发生变化
|
|
|
|
> 在生成子 Fiber 节点之后被赋值到 `memoizedProps`
|
|
|
|
|
|
|
|
`memoizedProps`:
|
|
|
|
> 上一次组件生成的属性,会在生成子 Fiber 节点之后被赋值到
|