setIndex((prevIndex) => ((prevIndex < max) ? (prevIndex + 1) : INITIAL_VALUE));
setTimeout(run, TIMEOUT);
}, TIMEOUT);
return () => {
clearTimeout(timeoutId);
};
}, []);
Нужно ли очищать вложенный таймер\таймаут что бы не засорять память!?
А зачем ты в принципе делаешь вложенные таймауты? Чем setInterval не подошел?
Ну там мне желательно что бы время было между вызовами одинаковое
Интервал именно это и делает, одинаковое время между вызовами колбека
Точне с момента вызова колбека что бы проходило время. Интервал же не так работает
useEffect(() => { const intervalId = setInterval(() => { setIndex((prevIndex) => ((prevIndex < max) ? (prevIndex + 1) : INITIAL_VALUE)); }, TIMEOUT); return () => { clearInterval(intervalId); }; }, []); Идентичный код будет
А как интервал работает?)
Обсуждают сегодня