Задать вопрос
@timofeus91
Junior Frontend Developer

Как удалить интервал при размонтировании экземпляра компонента?

При изменении стейта необходимо вызвать функцию , которая будет делать простой запрос. Эта функция должна выполняться каждые (например) 5 секунд. Прекратить вызывать должна в случае изменения стейта или если компонент будет размонтирован. Вот с последней частью задачи сложности. Компонент функциональный.

const [statusState, setStatusState] = useState(false)

  const interval = () =>
    setInterval(() => {
      getSomething();
    }, 5000);

  useEffect(() => {
    if (statusState) {
      interval();
    }
  }, [statusState]);
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
timer = setInterval(...);
...
componentWillUnmount() {
  clearInterval(timer);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽