Skip to main content

createWorkInProgress

版本:v17

位置:packages/react-reconciler/src/ReactFiber.js

目的:负责创建或重用一个“工作进行中”的 fiber 节点。

参数:

键名类型描述
currentFiber当前fiber节点
pendingPropsany新的 props,组件在下一次渲染时将接收的 props。

逻辑:

1、检查现有的Alternate

2、创建新的工作进行中节点

3、链接当前和工作进行中 fiber

4、复用现有的工作进行中的节点

5、复制或重置属性

6、性能分析计时器

  • 第四步中的性能分析计时器

7、开发模式检查

8、返回workInProgress

目的

createWorkInProgress 的主要目的是为下一个渲染过程准备一个 fiber 节点。通过创建或重用一个工作进行中 fiber,React 可以高效地管理更新并确保 UI 正确渲染。

这个函数是 React 双缓冲策略的关键部分,其中维护了两个版本的 fiber 树:一个用于当前 UI,另一个用于即将到来的更改。这允许 React 以非阻塞的方式执行更新,从而提高性能和响应速度。