Подписаться
Опубликовано

Задержка в интерактивности и серверные компоненты

Автор
  • Имя
    Счастливый тимлид | ♥ Frontend
    Telegram

Задержка в интерактивности и серверные компоненты

Ну и последнее что меня жутко разражало в SSR, так это задержка в интерактивности. Особенно когда ты с телефона пытаешься что-то сделать.

Как это выглядит: ты открываешь сайт, он загружается, там есть формочка, ты на нее тыкаешь, но написать не можешь. И кнопочки есть, но не нажимаются. И ты стоишь как дурак и думаешь... о вечном.

А все почему? Да потому что сначала код рендерился на сервере и выплюнулся к тебе в телефон как HTML, а потом загрузился всё тот же гигантский кусок джаваскрипта и начал на клиенте рендерить виртуальное дерево что бы что? Чтобы сравнить его с этим HTML и если в HTML от сервера что-то не так — стереть его и отрендерить всё заново уже на клиенте. Кринж!

Благо не меня одного это бесило и за последние годы SSR продвинулся намного вперед.

Сначала классным стало делать код-сплиттинг и ленивую загрузку — ну типа отдавать минимально нужный код, а остальное догружать фоном. Но это работало средне, плюс не каждый хотел научиться.

Но потом появились они — серверные компоненты. Да, они не умеют в интерактивность, но за то код, который рендерит HTML этих компонентов, исполняется только на сервере и не поставляется на клиента. А значит никаких гидратаций, всё на полном доверии.

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

В общем серверные компоненты довольно крутая штука для всякого рода контента, который не меняется по желанию пользователя.

Самый простой пример применения — страничка блога: заголовок, тексты, комменты — серверные компоненты кнопочки лайков и форма комментирования — клиентские компоненты

#React #SSR

© Счастливый тимлид

Счастливый тимлид | ♥ Frontend
2204 подписчика
692 поста

Закрепленные

Из подборки #React

Свежие посты

Опубликовано

Телеграмовский сосун (или какун, как правильно?)

Телеграмовский сосун суммирует мой лонгрид – стоит ли публиковать полную версию?