метод hydrate, но зачем тогда фреймворки типа Next.js. В какую сторону копать, если мне нужна индексация реакт приложения? Заранее спасибо
next это уже готовое решение и из существующих самое популярное. Советую его юзать
Hydrate только указывает реакту что html и так уже сгенерирован через react Dom. Кроме генерации html есть ещё code splitting, разная логика для клиента и сервера, роутинг
На мой взгляд ssr ни для чего кроме как индексации не нужен. Обмен данными намного эффективней чем html. Представим что юзер заходит на сайт не первый раз и у него закеширован бандл то происходит отправка запроса и получения только нужных данных (которые могут быть не только json а и в бинарном виде при заранее заданной схеме) в то время как html с этими данными может иметь в десятки раз больше размер Остается вариант когда бандл не закеширован. Тут поможет code-splitting - при первом заходе сервер отдает не весь бандл а только код нужного компонента который в последствии кешируется. Правда тут можно сравнить - мол код компонента в котором много jsx тоже самое что и отправка html но с другой стороны jsx можно хорошо минимизировать и в результате объем того же html-я но в формате jsx будет в несколько раз меньше а значит сайт будет открываться быстрее. Остается еще момент с тем что без ssr сервер должен сначала отправить index.html а потом нужный js-код компонента а потом уже компонент отправляет запрос за данными и получается 3 запроса вместо одного при ssr. Но что мешает также сделать один запрос и без ssr? Код нужного компонента можно передать сразу внутри script-тега файла index.html а вместо того чтобы отправлять отдельный запрос за данными данные тоже можно заиклудить внутри index.html. В общем я не вижу случаев за исключением индексации при которых ssr (когда браузер отправляет html а не данные или код) был бы лучше чем подход без ssr.
Обсуждают сегодня