Size: a a a

JavaScript.Ninja

2020 August 12

V

Valentin in JavaScript.Ninja
tlp
Привет!
Подскажите, есть ли какие то способы сделать таймер отсчета где есть дни, часы, секунды, более оптимизированным?
Потому что на каждом интервале просчет идет, может быть вы сталкивались с таким?Если два таймера запустить, они начинают лагать
работа с датой + requestAnimationFrame
Как ты счиатешь дни, часы, секунды? Как ты их рисуешь?
источник

ЛЦ

Лаврентий Ципорин... in JavaScript.Ninja
А я вообще его понял что ему таски нужно запускать через определенное время и он не хочет связываться с setInterval.
Если так, то "node cron" делает запуски через фиксированное время или по времени. Там гибкие настройки, в мануале все написано, в интернете много конфигов на разные случи жизни :)
источник
2020 August 13

DP

Dmytro Petunenko in JavaScript.Ninja
Не совсем понятно зачем два сет интервала именно. Можно как в ангуляре, запускать дайджест и перерисовывать все что нужно. Что бы визуально меньше шагал можно выпихивать в gpu слой через CSS transform 0
источник

AE

Andrey Eremenko in JavaScript.Ninja
Если по некоему событию, клику по кнопочке, надо прокрутить некий компонент(-ты) к началу (scroll to top) а приложение написано на react/redux как идеологически правильно будет это реализовать?
Кнопочка "не знает" что надо скроллить и надо ли вообще. Она сильно не в контексте основной части приложения. Просто если на нее нажали, то некоторые компоненты, если он есть, должны проскроллиться к началу.
Я не храню позицию скролла в объекте состояния и не планирую этого делать без особой нужды (не хватало еще менять стор по скроллу).
Можно сгенерировать какое-то глобальное событие и по нему скроллить, но это нарушает принцип "единого источника правды".
Можно создать некое boolean поле в объекте состояние и его менять, приконнектить к нему компоненты и скроллить их при изменении этого свойства на true. И потом по таймауту менять обратно на false. Но это какая-то содомия.
Может, еще какие-то варианты есть?
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
Andrey Eremenko
Если по некоему событию, клику по кнопочке, надо прокрутить некий компонент(-ты) к началу (scroll to top) а приложение написано на react/redux как идеологически правильно будет это реализовать?
Кнопочка "не знает" что надо скроллить и надо ли вообще. Она сильно не в контексте основной части приложения. Просто если на нее нажали, то некоторые компоненты, если он есть, должны проскроллиться к началу.
Я не храню позицию скролла в объекте состояния и не планирую этого делать без особой нужды (не хватало еще менять стор по скроллу).
Можно сгенерировать какое-то глобальное событие и по нему скроллить, но это нарушает принцип "единого источника правды".
Можно создать некое boolean поле в объекте состояние и его менять, приконнектить к нему компоненты и скроллить их при изменении этого свойства на true. И потом по таймауту менять обратно на false. Но это какая-то содомия.
Может, еще какие-то варианты есть?
я бы добавил обработчик на document из нужного компонента и ловил на всплытие нажатие на эту кнопку. кнопка ничего не знает ни о чем, компоненты знают о кнопке
на анмаунте обработчик нужно не забыть удалить
источник

AE

Andrey Eremenko in JavaScript.Ninja
Nikolai Reguliarniy
я бы добавил обработчик на document из нужного компонента и ловил на всплытие нажатие на эту кнопку. кнопка ничего не знает ни о чем, компоненты знают о кнопке
на анмаунте обработчик нужно не забыть удалить
это по сути первый вариант - глобальное событие. и это событие, а не только состояние приложения, теперь управляет приложением. источника правды становится больше одного.
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
Andrey Eremenko
это по сути первый вариант - глобальное событие. и это событие, а не только состояние приложения, теперь управляет приложением. источника правды становится больше одного.
так у вас и происходит событие. "источника правды" для каких данных у вас становится больше одного? данных в этом поведении и не фигурирует
какой то компонент при маунте подписывает кнопку, при анмаунте отписывает. можете сервис-прослойку сделать, чтобы исключить дублирование подписок
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
обработчики хранить в redux сразу скажу - плохая затея
источник

AE

Andrey Eremenko in JavaScript.Ninja
ох не хотелось мне сервис с глобальными событиями добавлять... даже содомия с полем в сторе казалась лучше, чем инжектировать в компоненты какой-то непонятный сервис
источник

NR

Nikolai Reguliarniy in JavaScript.Ninja
Andrey Eremenko
ох не хотелось мне сервис с глобальными событиями добавлять... даже содомия с полем в сторе казалась лучше, чем инжектировать в компоненты какой-то непонятный сервис
можно еще попробовать через портал рисовать в кнопке спан на всю площадь прозрачный поверх контента и вешать на него обработчик
источник

IK

Illya Klymov in JavaScript.Ninja
Andrey Eremenko
ох не хотелось мне сервис с глобальными событиями добавлять... даже содомия с полем в сторе казалась лучше, чем инжектировать в компоненты какой-то непонятный сервис
как раз таки сервис это хорошо чем "поле-флаг"
источник
2020 August 14

I

Igor Kot in JavaScript.Ninja
Кто-то знает как заставить vs code упорядочить файлы в эксплорере в _обратном_ алфавитном порядке? Может плагин какой-то есть?
У меня имена файлов начинаются на временную метку и я хочу видеть новые в начале списка. Но направление сортировки не редактируется в стандартных настройках.
источник

ВТ

Вячеслав Тертычный... in JavaScript.Ninja
источник

v

vasilich in JavaScript.Ninja
источник

IK

Illya Klymov in JavaScript.Ninja
В августе
источник

ВТ

Вячеслав Тертычный... in JavaScript.Ninja
кайф, надеюсь 20 года
источник

IK

Illya Klymov in JavaScript.Ninja
Вячеслав Тертычный
кайф, надеюсь 20 года
Ага
источник

С

Сергей in JavaScript.Ninja
Набор на что?
источник

IK

Illya Klymov in JavaScript.Ninja
На базовый курс
источник

С

Сергей in JavaScript.Ninja
Это по js?
источник