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

Для чего нужна cleanup у useEffect

Cleanup в useEffect используется для отписки от событий, отмены таймеров или очистки ресурсов перед размонтированием компонента или перед следующим вызовом эффекта. Это предотвращает утечки памяти и ошибки, связанные с попыткой обновления состояния размонтированного компонента.

Пример с таймером:

jsx
useEffect(() => {
  const timer = setTimeout(() => {
    console.log('Timer fired!');
  }, 1000);

  return () => {
    clearTimeout(timer); // Очистка таймера
  };
}, []);

Пример с подпиской на событие:

jsx
useEffect(() => {
  const handleResize = () => console.log('Resized!');
  window.addEventListener('resize', handleResize);

  return () => {
    window.removeEventListener('resize', handleResize); // Отписка
  };
}, []);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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