React中Fiber Node与Fiber的区别是什么?
React Fiber与Fiber Node的术语区别
简单来说,这两个术语大部分场景下是混用的,但严格定义存在细微差异:
Fiber Node:特指React Fiber架构中具体的数据结构实例,是包含组件信息、优先级、DOM关联、链表指针等属性的对象,相当于React对组件/元素的“虚拟化节点”。代码里对应的就是
Fiber类型的实例,比如简化示例:// 简化的Fiber Node结构 const fiberNode = { type: 'div', props: { children: [] }, stateNode: null, // 关联真实DOM节点 return: null, // 父Fiber指针 child: null, // 子Fiber指针 sibling: null, // 兄弟Fiber指针 priority: 0 // ...其他核心属性 };Fiber:这个词有两层含义:
- 作为单个节点的口语化简称,此时和Fiber Node完全等价;
- 指代由Fiber Node组成的整个树结构,或是Fiber架构的核心算法体系——比如提到“React Fiber的中断与恢复机制”时,这里的Fiber就不是单个节点,而是整套基于Fiber Node实现的调度逻辑。
总结:当指代单个节点时,二者无区别;当指代整体树结构或算法体系时,Fiber是更宽泛的概念。
内容的提问来源于stack exchange,提问作者E McGill
相关产品推荐
相关产品推荐

