Комментарии 6
И на любое действие перезагружать всю страницу целиком с сервера? Даже если там всего несколько элементов изменилось? Или всё же удобнее и быстрее, просто получить с севера небольшой json с нужными данными?
Я пару раз применял в подобной ситуации такой подход: возвращал с сервера сразу html и менял содержимое элемента-контейнера. Но такой способ, конечно, для совсем уж простых случаев, типа отправки формы.
Браузер умеет preload и transition. Ровно то что сделает реакт, только нативно. А там где надо на странице что-то мутировать - справится htmx. И сложность этих решений в разы меньше.
А ещё лучше получить сразу небольшой фрагмент HTML.
HTML - это просто текст
JS — тоже. В реальности в runtime cуществуют не "просто HTML", а DOM-представление содержимого страницы, которое внезапно может иметь кучу состояний, переиспользоваться между разными страницами, а пользователю может не нравится перезагружать всю страницу в ответ на изменение одного из фильтров в поиске или приходе нового сообщения на форуме.
"HTML - это просто текст", офигенно, а Vulcan API — это просто пиксели.
Дальше автор перекладыват проблемы NextJS и Server Components React на весь фронтенд.
Давно уже нет.
Для решения этого вопроса команда React предложила React Server Components, которые позволили снять проблему «как выбирать данные в React?», донимавший команду на протяжении всех 2010-х.
Серверный рендеринг на Реакт был чуть ли не с первой версии, никаких проблем с выборкой данных для него не было со времен изобретения Promise.
Открою вам секрет, большей части веб-приложений серверный рендеринг на хер не упал. Вот вообще. Oн нужен по большей части для индексирования поисковиками, и даже тогда нужен далеко не на всем сайте. Всерьез он остался по-моему только в e-commerce, но там ваш стек разработки часто уже определён за вас Shopify, Magento и кучей других SAAS решений или полуготовых коробочных решений.
А последние версии NextJS и Server Only Components React и правда говно. Если уж так нужен полноценный SSR и SPA, то есть куча конкурентов получше.

Рендеринг — это не про сервер