2

我一直在阅读有关 React Fiber 的内容,并且经常看到“和解”和“渲染”这两个术语经常一起使用。在 React 的上下文中,有人可以帮我理解这两个术语之间的区别吗?

一些背景:

  • 看了Lin Clark 关于 React Fiber 的演讲后,我产生了这个疑问
  • 为了理解这一点,我阅读了另一篇有用的文章——React 如何处理事件。我相信这篇文章有答案,但似乎它的目标受众是已经对 React 有高水平理解的人。但是,我正在寻找更简单的解释(因为我仍处于 React 的初学者水平)。
4

1 回答 1

0

我会回应迈克在评论中所说的话。命名可能有点混乱,因为 React 的更新发生在两个阶段 - 渲染和提交。渲染阶段涉及 React 遍历组件树并找出发生了什么变化。在某些情况下,它甚至可以在渲染阶段之前找出变化。例如,在这一useState行中,React 可以“急切地”计算调用的更新函数导致的未来状态。

在提交阶段,React 遍历新 Fiber 树(您的组件树)上的列表副作用(更改)并将它们应用到 DOM,从而为用户带来可见的更改。

如果您对更多背景感兴趣,我已经写过该方法如何ReactDOM.render适应 React 的新 Fiber 架构。

于 2020-01-11T02:41:59.023 回答