Таймер повторной отправки SMS застывает на 59 секундах
const [seconds, setSeconds] = useState(60);
useEffect(() => {
const id = setInterval(() => {
setSeconds(seconds - 1);
}, 1000);
return () => clearInterval(id);
}, []);
На экране сначала 60, через секунду 59 — и дальше ничего не меняется. Как исправить?
- Вызывать setSeconds(s => s - 1)
- Заменить useState на обычную переменную
- Вызывать setSeconds дважды подряд
- Убрать функцию очистки из эффекта
