TGViewer
Будни разработчика Будни разработчика @htmlshit · 14.4K subscribers
Post #3055 2.75K
#статья дня

Я тут в нашем продукте всё пытаюсь сделать идеальные всплывающие уведомления, aka тосты.

Потому что выскакивают, как хлеб из тостера.

Поначалу они были сугубо императивные, вызвали уведомление вручную, вручную же скрыли все разом или по некому id. Потом я решил объединить уведомления и некоторые виды модальных окон (например, подтверждение или отмену действия).

Параллельно я начал переписывать императивные уведомления на React, потому что на тот момент приложение стало гибридным. Получалось вроде неплохо. Но в какой-то момент...

В какой-то момент я на полную познал, что такое гипотеза Чёрной Королевы (забавно, что в английском языке — Красной Королевы). В простейшем варианте она звучит так: "Нужно бежать, чтобы оставаться на месте". Непомерно много усилий требуется, чтобы лишь чуть-чуть двигаться вперёд.

В мире разработки она же значит, что на один закрытый баг — получаешь пятнадцать новых :)

Да, пришло время признать, что я со своей реализацией уведомлений зашёл в тупик, и надо смотреть в сторону альтернатив.

И тут попадается нечто прекрасное, компонент Sonner: https://emilkowal.ski/ui/building-a-toast-component

И сразу ссылка на репозиторий: https://github.com/emilkowalski/sonner

Статья буквально на острие взаимодействия CSS и JS, объяснены принципы построения анимаций на CSS-переменных и управления ими из React-приложения.

Сами же тосты реализованы на простой шине событий, что весьма надёжно.

В общем, я ещё свой поиск идеальной реализации не завершил, но Sonner — максимально к ней близок.

#react #toasts #notification #animation
  • 👍 20
More from @htmlshit
  1. Oct 16, 2026#заметка дня Когда Гарри Каспаров проиграл DeepBlue в шахматы, всем, в целом, стало понятн…
  2. Oct 15, 2026Post #4324
  3. Oct 14, 2026Атмосфера HolyJS: ради чего стоит приехать на площадку 23–24 октября в Санкт Петербурге и…
  4. Oct 13, 2026#такое дня Сидим, разрабатываем дизайн систему, следуем WCAG, вычитываем эксплейнеры с htt…
  5. Oct 13, 2026🏁Тестовый собес на Frontend с разработчиком из R-Vision, ex-Сбер 15 октября в 19:00 (МСК)…
  6. Oct 13, 2026#инструмент дня Когда надоело, что ссылки из рабочего Slack открываются в личном профиле C…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →