4

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

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

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

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

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

4

0 回答 0