TGViewer
Андруша пишет код Андруша пишет код @xavescor_code · 1.33K subscribers
Post #21 636
Не держи внутри

В мире фронтенда нет вопроса более холиварного, чем то как управлять состоянием. Хочу немного подкинуть в него дров:

Любой UI состоит из двух вещей: из состояния и UI-рендера, который это состояние превращает в HTML и CSS.
Причём состояние можно грубо поделить на 2 части: корневое и зависимое. Попробую объяснить разницу на примере:
- корневое: jwt токен, который мы храним в куке
- зависимое: информация о пользователе, которую мы получаем по jwt токену с сервера.
Т.е. корневую часть состояния приложение может получить только от пользователя.

И теперь вопрос: почему бы не попытаться хранить максимум корневого состояния в URL?
Из плюсов:
- Если пользователь А захочет поделиться страницей, то его знакомый увидит страницу в максимально близком состоянии, которое открыто у пользователя А
- Урл един, а значит все стейт менеджеры смотрят в одно место. У нас возникает единый источник правды

К примеру, посмотрите как работает фильтрация товаров в маркетплейсах(к примеру, в Амазоне или Яндекс.Маркете) или в http://typescriptlang.org/play. Они все на каждый чих меняют урл и это сверхудобно как для пользователя, так и для разработчика

Но есть минус пока что:
- Нет кроссбраузерного способа подписаться на изменения урла. Пока есть https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate_event, который поддерживается только хромом.

Так что увы, но это мечты о будущем, которое случится неизвестно когда. Хотя всегда можно заманкипатчить window.location и навесить туды своих интерестностей. Но об этом как-нибудь в другой раз.
www.typescriptlang.org TS Playground - An online editor for exploring TypeScript and JavaScript The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.
  • 🔥 5
  • 💩 3
  • 👍 2
  • 🤷‍♂ 1
  • ❤ 1
  • 👎 1
  • 🎃 1
More from @xavescor_code
  1. Sep 29, 2026https://x.com/thsottiaux/status/2104823812042940713 Ну, впервые в жизни ванганул, и походу…
  2. Sep 24, 2026Тут в моём казахстанском пузыре происходит прикольная вещь. Ща, в пятницу, в кз обьявлен т…
  3. Sep 22, 2026Чуть чуть проснусь от спячки по важному поводу. Мы походу пришли к AGI в ЛЛМках. Ну, точне…
  4. Aug 6, 2026Уже почти месяц прошел после взлома моделями OpenAI – HuggingFace. Спустя это время каждая…
  5. Jul 28, 2026https://t.me/denissexy/11581 Знаете, меня очень сильно удивляет вопрос: какого чёрта подоб…
  6. Jul 28, 2026Антропик: китайцы дистилируют наши модели, надо забанить их Опенаи: китайцы дистилируют на…
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 →