Встречается на собеседованиях • сегодня

Что будет, если вызвать Callback в UseEffect

Вызов колбэка напрямую в useEffect без обертки в асинхронную функцию или без проверки на размонтирование может привести к проблемам:

  1. Утечки памяти - если компонент размонтируется до завершения колбэка
  2. Ошибки обновления состояния - попытка обновить состояние размонтированного компонента
jsx
useEffect(() => {
  // Плохо - может вызвать ошибки
  fetchData().then(callback);

  // Лучше - отмена запроса при размонтировании
  const controller = new AbortController();
  fetchData(controller.signal).then(callback);
  
  return () => controller.abort();
}, []);

Всегда нужно:

  • Очищать подписки/таймеры в функции очистки
  • Использовать флаги или AbortController для асинхронных операций
  • Проверять актуальность компонента перед обновлением состояния
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы