У useEffect есть функция cleanup и массив зависимостей с параметрами a, b, c. В какой момент отработает функция cleanup?

Cleanup выполнится перед следующим setup эффекта, если изменилось хотя бы одно из a, b, c, и при размонтировании компонента.

Короткий ответ

Что ответить на собеседовании

Cleanup выполнится перед следующим setup эффекта, если изменилось хотя бы одно из a, b, c, и при размонтировании компонента.

Подробный разбор

Ответ с пояснениями

Cleanup выполнится перед следующим setup эффекта, если изменилось хотя бы одно из a, b, c, и при размонтировании компонента.

React сравнивает зависимости с предыдущими через Object.is. Cleanup замыкает значения того setup, к которому относится, поэтому освобождает предыдущую подписку или ресурс. Ререндер с прежними зависимостями сам по себе его не запускает. В development Strict Mode предусмотрен дополнительный проверочный цикл эффекта.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее