и посмотреть медиа
La vida diaria del desarrollador: Liderar el blog JS
и посмотреть медиа
Blog de un desarrollador líder de JS sobre el trabajo diario.
Blog de un desarrollador líder de JS sobre el trabajo diario.
Blog personal de Lead JS Developer. Publicaciones sobre la vida diaria de TI, prácticas útiles, herramientas y experiencia. Perspectivas para desarrolladores de frontend y fullstack que quieren desarrollarse en el ecosistema JavaScript.
#статья дня Я тут в нашем продукте всё пытаюсь сделать идеальные всплывающие уведомления, aka тосты. Потому что выскакивают, как хлеб из тостера. Поначалу они были сугубо императивные, вызвали уведомление вручную, вручную же скрыли все разом или по некому id. Потом я решил объединить уведомления и некоторые виды модальных окон (например, подтверждение или отмену действия). Параллельно я начал переписывать императивные уведомления на React, потому что на тот момент приложение стало гибридным. Получалось вроде неплохо. Но в какой-то момент... В какой-то момент я на полную познал, что такое гипотеза Чёрной Королевы (забавно, что в английском языке — Красной Королевы). В простейшем варианте она звучит так: "Нужно бежать, чтобы оставаться на месте". Непомерно много усилий требуется, чтобы лишь чуть-чуть двигаться вперёд. В мире разработки она же значит, что на один закрытый баг — получаешь пятнадцать новых :) Да, пришло время признать, что я со своей реализацией уведомлений зашёл в тупик, и надо смотреть в сторону альтернатив. И тут попадается нечто прекрасное, компонент Sonner: Ссылка скрыта И сразу ссылка на репозиторий: Ссылка скрыта Статья буквально на острие взаимодействия CSS и JS, объяснены принципы построения анимаций на CSS-переменных и управления ими из React-приложения. Сами же тосты реализованы на простой шине событий, что весьма надёжно. В общем, я ещё свой поиск идеальной реализации не завершил, но Sonner — максимально к ней близок. #react #toasts #notification #animation #бородач
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!