Причины вызова useEffect перед отрисовкой Владимир Клепов раз | Заметки про React
Причины вызова useEffect перед отрисовкой
Владимир Клепов разбирается с причинами запуска useEffect перед этапом отрисовки браузера. Причиной такого поведения может стать изменение стейта в useLayoutEffect.
В документации React написано, что useEffect вызывается после этапа отрисовки браузера. Чаще всего это так, и это оптимальный случай.
Изменение стейта в useLayoutEffect провоцирует новый ререндер. Перед новым ререндером происходит вызов оставшихся / ожидающих вызова useEffect. Дальше происходит стандартный флоу: обновление, вызов useLayoutEffect, отрисовка и вызов useEffect.
https://thoughtspile.github.io/2021/11/15/unintentional-layout-effect/