169 похожих чатов

Подскажите пожалуйста. Что нынче юзают для SSR. Прочитал, что есть

метод hydrate, но зачем тогда фреймворки типа Next.js. В какую сторону копать, если мне нужна индексация реакт приложения? Заранее спасибо

3 ответов

13 просмотров

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.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта