Вопрос проверяет умение работать с таймерами в React, корректно управлять жизненным циклом и избегать типичных багов с интервалами.
Короткий ответ
Проще всего хранить “прошедшие секунды” в useState, а запуск обновления сделать в useEffect через setInterval. Внутри интервала увеличивать значение каждую секунду через функциональное обновление setState(prev => prev + 1). Обязательно вернуть функцию очистки, чтобы остановить интервал при размонтировании. Для более точного секундомера лучше хранить startTime в useRef и пересчитывать прошедшее время от реального времени, чтобы уменьшить “дрейф”.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.