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

Как очистить состояние в useEffect

Чтобы очистить состояние или отменить побочные эффекты в useEffect, нужно вернуть функцию очистки из колбэка. Это особенно полезно для отмены подписок, таймеров или асинхронных операций.

javascript
useEffect(() => {
  const timer = setTimeout(() => {
    console.log('Таймер сработал');
  }, 1000);

return () => {
clearTimeout(timer); // Очистка таймера
console.log('Таймер очищен');
};
}, []);

text

Если нужно сбросить состояние при размонтировании компонента:
```javascript
useEffect(() => {
  return () => {
    setState(initialState); // Сброс состояния
  };
}, []);

Функция очистки вызывается:

  • Перед повторным выполнением эффекта (если зависимости изменились)
  • При размонтировании компонента
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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