Есть ли у нас метод обратного вызова для завершения рендеринга в реагирующем примирителе?

Я пишу собственный рендерер, используя реагирующий примиритель.

Мой рендерер должен вызываться, когда в дереве происходят какие-то изменения.

Я могу вставить вызов функции в конце appendChild, removeChild, commitUpdateчто вызывает изменения в дереве. Но это было бы болезненно неэффективно, когда есть несколько вызовов этих функций, вызванных одним обновлением состояния.

Мне нужна какая-то пакетная обработка. Но если я использую requestanimationframeto batch , то пользователи на мгновение увидят неправильный макет.

Я хочу, чтобы примиритель реагировал на вызов моего computeLayoutпосле применения каждой модификации дерева и непосредственно перед ее завершением, что позволяет браузерам применять все обновления DOM. Есть ли у нас такой метод обратного вызова? Могу ли я использовать resetAfterCommitметод в этом случае?

0 ответов

Другие вопросы по тегам