Веб-сайт: Ссылка
Итак, я сделал секундомер в React.
Весь код находится ниже.
Несколько замечаний
❔Как рассчитывается время
Допустим, мы только что запустили секундомер. У нас есть startTime
, elapsedTime
считает время сейчас, time
тоже, но time
равно elapsedTime
только в начале.
Теперь нажимаем на паузу.
Теперь нам не важно startTime
. elapsedTime
останавливается. time
тоже. Но stopTime
теперь равно time
.
Мы нажимаем кнопку play.
Думаю, имена переменных здесь немного запутаны. Если у вас есть идеи, как их переименовать, пожалуйста, дайте мне знать.
❕ Вопрос для вас
Есть некоторая проблема. В строке if(s == 0 && ms == 1){
в playTime()
я хотел набрать if(s == 0){
. В этом есть какая-то логика, верно? Вместо того, чтобы вычислять минуты в 00s 01ms функция могла бы просто вычислить их в 00s. Но! После 1 минуты ожидания у вас будет 1m00s00ms. Если нажать кнопку сброса, то будет 00s00ms. А если есть более короткая версия условия, то при новом воспроизведении будет показано 1m00s00ms. Я долго пытался понять, почему так происходит, но так и не понял.
Также было бы здорово, если бы у вас были еще какие-нибудь улучшения кода.
Полный код
GitHub: Ссылка