Встречается на собеседованиях • сегодня
Что если передать массив в useEffect
Если передать массив в useEffect, React будет сравнивать его элементы с предыдущим рендером. Если массив пустой ([]), эффект выполнится только при монтировании и очистится при размонтировании. Если массив содержит зависимости, эффект будет запускаться при их изменении.
Пример:
jsx
useEffect(() => {
console.log('Эффект сработал');
}, [someDependency]); // ЗависимостьНюансы:
- React использует поверхностное сравнение (
Object.is) для элементов массива. - Если передать массив объектов, эффект может срабатывать лишний раз из-за создания новых ссылок.
- Пропуск массива зависимостей приведёт к выполнению эффекта при каждом рендере.
Лучшие практики:
- Включайте только реальные зависимости.
- Используйте
useCallbackиuseMemoдля стабилизации ссылок.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы