Встречается на собеседованиях • сегодня
Как вызвать UseEffect один раз
Чтобы вызвать useEffect только один раз при монтировании компонента, нужно передать пустой массив зависимостей ([]) вторым аргументом:
jsx
useEffect(() => {
// Код выполнится один раз при монтировании
console.log('Компонент смонтирован');
}, []); // Пустой массив зависимостейЭто работает, потому что React сравнивает зависимости при каждом рендере. Пустой массив означает, что эффект не зависит ни от каких значений и должен выполняться только при первом рендере.
Важные нюансы:
- В режиме Strict Mode в dev-среде эффект может вызываться дважды для обнаружения побочных эффектов
- Для отписки от событий/таймеров возвращайте функцию очистки:
jsx
useEffect(() => {
const timer = setTimeout(() => {}, 1000);
return () => clearTimeout(timer);
}, []);
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы