React Fiber 树思想,解决业务实际场景

本文介绍了React的Fiber树结构,它从V16版本开始使用,用于渲染和更新机制。Fiber节点包含return、next和child指针,形成树状结构。文章通过一个具体的任务管理业务场景,展示了如何利用Fiber树来同步任务状态,当所有子任务完成时,自动更新上级任务的状态。最后,作者分享了关于JavaScript和ES的笔记资料。
摘要由CSDN通过智能技术生成

熟悉 Fiber 树结构

我们知道,React 从 V16 版本开始采用 Fiber 树架构来实现渲染和更新机制。

Fiber 在 React 源码中可以看作是一个任务执行单元,每个 React Element 都会有一个与之对应的 Fiber 节点。

Fiber 节点的核心数据结构如下:

type Fiber = {type: any, //类型 return: Fiber, //父节点child: Fiber, // 指向第一个子节点sibling: Fiber, // 指向下一个弟弟
} 

其中,以下三个属性可以构成 Fiber 树:

  • return 表示父 Fiber 节点(顶级元素没有 return 指针)
  • sibling 表示下一个兄弟 Fiber 节点(如果没有下一个兄弟节点,也就没有这个指针)
  • child 表示第一个子 Fiber 节点(如果没有第一个子节点,也就没有这个指针)。

举个例子,假如我们的组件结构如下:

function App() {return (<div>名称:<span>明里人</span></div>)
} 

对应的 Fiber 树结构如下:

通过 Fiber 树结构我们可以很方便的查找一个节点的上级、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值