React底层中,一个Fiber节点长什么样?它包含什么信息内容?那Fiber Tree又是什么呢?举例说明一下

在 React 底层中,一个 Fiber 节点代表一个组件或 DOM 元素,它包含了组件的状态、子节点、兄弟节点以及其他与组件相关的信息。一个 Fiber 节点长这样:

{
  tag: 0,                   // 组件类型,0 表示函数组件,1 表示类组件,2 表示原生 DOM 元素
  key: null,                // 组件的 key 值
  elementType: type,        // 组件的类型
  type: FunctionComponent,  // 组件的函数或类
  stateNode: null,          // 组件实例或 DOM 元素
  return: null,             // 父节点
  child: null,              // 第一个子节点
  sibling: null,            // 兄弟节点
  index: 0,                 // 在兄弟节点中的索引
  ref: null,                // 组件的 ref 属性
  pendingProps: nextProps,  // 组件的 props
  memoizedProps: null,      // 上一次渲染时的 props
  memoizedState: null,      // 上一次渲染时的 state
  updateQueue: null,        // 更新队列
  mode: mode,               // 渲染模式
  effectTag: NoEffect,      // 副作用标记
  nextEffect: null,         // 下一个副作用
  firstEffect: null,        // 第一个副作用
  lastEffect: null,         // 最后一个副作用
}

举个例子,假设有一个简单的函数组件ÿ

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值