DOM и React Middle Компоненты на практике обновлено
Баг: незакрытые зависимости эффекта
Условие
Эффект должен вызывать onChange(query) при каждом изменении query, но не при изменении других пропсов и не бесконечно.
Что проверяют тесты
срабатывает на изменение
не срабатывает без изменений
Как подойти
Три формы: без массива - после каждого рендера; пустой массив - один раз; со списком - при изменении любого элемента по Object.is. Нестабильная функция в зависимостях даёт бесконечный цикл, поэтому её либо оборачивают в useCallback у родителя, либо кладут в ref.
Подсказки: 2
- Эффект без массива зависимостей выполняется после каждого рендера.
- В зависимости попадает всё, что эффект читает снаружи, включая функции.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.