Эффект без массива зависимостей выполняется после каждого commit; если он каждый раз меняет state, получится цикл обновлений.
Что произойдёт, если в useEffect без массива зависимостей вызвать setState?
Эффект без массива зависимостей выполняется после каждого commit; если он каждый раз меняет state, получится цикл обновлений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что произойдёт, если в useEffect без массива зависимостей вызвать setState?
Ответ
Эффект без массива зависимостей выполняется после каждого commit; если он каждый раз меняет state, получится цикл обновлений.
Например, установка нового объекта или увеличение счётчика будет провоцировать следующий render и эффект. Установка того же примитива может быть отброшена React, поэтому бесконечный цикл не обязателен при любом setter. Исправляют причину синхронизации и зависимости, а не прячут предупреждение.