我们是否有用于在 React Reconciler 中完成渲染的回调方法?

时间:2020-12-19 07:11:35

标签: reactjs react-fiber reconcile

我正在使用 react reconciler 编写自定义渲染器。

当树有一些变化时,我的渲染器应该调用 computeLayout

我可以在 computeLayoutappendChildremoveChild 的尾部插入 commitUpdate 函数调用,这会导致树发生变化。但是当单个状态更新触发了这些函数的多次调用时,效率会非常低下。

我需要的是某种批处理。 但是如果我使用 requestanimationframe 批处理 computeLayout,那么用户可能会看到错误的布局。

我希望 react reconciler 在应用每个树修改之后和在它终止之前调用我的 computeLayout,允许浏览器应用所有 DOM 更新。 我们有这样的回调方法吗?在这种情况下,我可以使用 resetAfterCommit 方法吗?

0 个答案:

没有答案