Вступить в клуб →
средняявопросReact Native: списки, рендер и нативная часть

Таймер повторной отправки 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 дважды подряд
  • Убрать функцию очистки из эффекта

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела