Встречается на собеседованиях • сегодня
Когда срабатывает UseEffect с точки зрения массива зависимостей
useEffect срабатывает в следующих случаях:
- Без массива зависимостей - при каждом рендере компонента
- С пустым массивом
[]- только при монтировании (аналогcomponentDidMount) - С зависимостями
[dep1, dep2]- при изменении любой из зависимостей (shallow сравнение)
Пример:
jsx
useEffect(() => {
console.log('Сработает при каждом рендере');
});
useEffect(() => {
console.log('Сработает только при монтировании');
}, []);
useEffect(() => {
console.log('Сработает при изменении count или name');
}, [count, name]);Важные нюансы:
- Зависимости сравниваются через
Object.is - Если передать
undefinedилиnullкак зависимость - эффект будет срабатывать каждый раз - Нельзя условно объявлять хуки (нарушает правила Hooks)

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