TGViewer
SuperOleg dev notes SuperOleg dev notes @super_oleg_dev · 1.75K subscribers
Post #236 633
Когда-то давно рассказывал про интеграцию стриминга и deferred загрузки данных в Tramvai - https://t.me/super_oleg_dev/136

У этого механизма была проблема:

Все пользователи обычно заводят сторы для данных, и обновляют их в Actions после загрузки данных.

Но, если экшен больше не блокирует ответ пользователю, значит initial state мы уже отправили на клиент, и dispatch(event) после завершения запроса к API работает впустую.

При переходе на Deferred Actions пользователям приходилось рефакторить экшены, делать дополнительные client-only экшены с синхронизацией стейта с deferred данными из стрима.

Выглядит страшно - https://tramvai.dev/docs/features/data-fetching/streaming-data/#manual-synchronization-alternative

И наконец-то мы развили эту идею!

Я называю это следуя моде state-over-the-wire 😂

Принцип работы очень простой:
- если экшен deferred
- и первый ответ пользователю уже ушел
- тогда dispatch(event) пушит событие и данные в стрим ответа, как script в HTML
- на клиенте же, мы после гидрации начинаем обработку этих событий и автоматически обновляем сторы

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

Коллеги, берегитесь, будем очень активно продавать 🙈
Telegram SuperOleg dev notes Привет! Релизнули экспериментальный функционал с Deferred экшенами. Сделал темплейт где можно потыкать результат - https://codesandbox.io/p/sandbox/tramvai-deferred-actions-s95q62 Экшен выполняется 1 секунду, время рендера компонента который зависит от…
  • 🔥 5
More from @super_oleg_dev
  1. Sep 10, 2026Посмотреть на работу анимаций и скролла можно в нашей демке, основанной на примере Remix ф…
  2. Sep 10, 2026Далее, про скролл. В принципе для SPA-приложений это база, если при переходах на разные ст…
  3. Sep 10, 2026Раз уж меня прорвало, вспомню ещё один интересный кейс. Решали примерно в одно время две п…
  4. Sep 10, 2026Вместо тысячи слов, пример работы и сразу разметка, которая долетает в HTML - и наш механи…
  5. Sep 7, 2026TIL, небольшой, но интересный кейс! Делал кастомный анализ бандла через Claude, пишет мне…
  6. Mar 17, 2026Нет ничего интереснее на ночь глядя чем почелленджить новые SSR бенчмарки! https://x.com/i…
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 →