Лучший способ работы с таймерами в React
Вставка
- Опубліковано 12 вер 2024
- Разберёмся почему типичный подход для работы с таймерами в React плохо работает и рассмотрим декларативный и удобный альтернативный подход
Ссылка на исходники из видео будет в моём telegram
Подписывайтесь на мой telegram канал: t.me/cleanfrontend
Евгений, спасибо большое за видео, самое лучшее пояснение !
Спасибо, благодаря этому видео успешно сделала тестовое, немного доработав со своей стороны) Было очень сложно найти таймер, который работает не через setInterval (что порождает сильно большую погрешность). Единственный грамотный пример, который подошёл.
Крутое видео на канале, хорошо что случайно наткнулся)))
Спасибо большое за видео. Решил закрыть гештальд по TODO и написать наконец свою эталонную реализацию да еще и с помидор таймером)) И как раз возникли эти мысли, потому что на обычных setInterval, setTimeout оно как-то нестабильно работало. Но в инете в подавляющем большинстве реализации упрощенные.
Жизненная задача. Однажды столкнулся и долго не мог понять, почему при открытии другой вкладки, при запущенном таймере, он замедляется.
таймер - это не хухры мухры, а целый механизм
Ну, то что нужно определять разницу между временными точками и её показывать вместо простого вычитания единицы из таймера мне понятно.. но на счёт setInterval() вообще нет.. Ты сказал что его не желательно использовать по ряду причин, а потом создал доп хук в котором использовал функцию setInterval() и все счастливы) вообще не понятно.. Возможно я что-то не правильно понял но.. + в процессе объяснения много вещей пропускаются что делает ещё более сложным процесс понимания.. как-то так.. но всё-равно спасибо за труд
то есть а во втором варианте мы не считаем просто кол-во вызовов useNow?)
Там можно поставить интервал обновления меньше или больше секунды
интересно спасибо
У меня не работает. Вот что пишет: One of your dependencies, babel-preset-react-app, is importing the
"@babel/plugin-proposal-private-property-in-object" package without
declaring it in its dependencies.