Получи случайную криптовалюту за регистрацию!

Причины вызова useEffect перед отрисовкой Владимир Клепов раз | Заметки про React

Причины вызова useEffect перед отрисовкой

Владимир Клепов разбирается с причинами запуска useEffect перед этапом отрисовки браузера. Причиной такого поведения может стать изменение стейта в useLayoutEffect.

В документации React написано, что useEffect вызывается после этапа отрисовки браузера. Чаще всего это так, и это оптимальный случай.

Изменение стейта в useLayoutEffect провоцирует новый ререндер. Перед новым ререндером происходит вызов оставшихся / ожидающих вызова useEffect. Дальше происходит стандартный флоу: обновление, вызов useLayoutEffect, отрисовка и вызов useEffect.

https://thoughtspile.github.io/2021/11/15/unintentional-layout-effect/