Как стать автором
Обновить

Комментарии 2

Я правильно понял из статьи что когда произошло обновление то есть после фазы commit, то workInProgressTree становится currentTree ? И так постоянно на каждое обновление DOM или вызов каких то эффектов ?

Я правильно понял из статьи что когда произошло обновление то есть после фазы commit, то workInProgressTree становится currentTree ?

В целом вы правы
Если быть более точным, то finishedWork дерево становится current: root.current = finishedWork. И выполняется эта смена на этапе commit, перед перерисовкой (но думаю это не столь важно, просто нюансы кода React).

И так постоянно на каждое обновление DOM или вызов каких то эффектов ?

Если я правильно понял, то тут ответ: нет. Так происходит постоянно на каждое обновление React в фазе commit. А обновление React может быть вызыванно изменением состояния (setState). Если вы поменяете DOM самостоятельно, без React, то и код React не будет вызван и никакого переприсвоения currentTree соответственно не будет.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории