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); }; }, []); Идентичный код будет
А как интервал работает?)
Обсуждают сегодня