Проблема заключается в следующем. Я совершенно не понимаю, каким образом на многих сайтах, использующих Next.js и не только, отображается информация, полученная (как я предполагаю) из запроса к серверу, в коде страницы браузера. Для ясности вопроса приведу пример.
Возьмём чисто для примера GitHub. Если посмотрим на код страницы в браузере, то увидим, например, никнейм, который, я предполагаю, получается запросом к серверу. Вопрос: каким образом, не зная, кто зашёл на сайт, они отправили запрос не на клиентской части, и получили именно мой профиль? Даже если перезагружать страницу, то не будет вообще видно процесс загрузки иконки, никнейма, почты и остальной информации, которая не хранится ни коим образом в каком-либо хранилище браузера [GitHub](
https://i.stack.imgur.com/5yrAR.png).
Как такое возможно и как это реализовать в Next.js? Я, например, чтобы получить данные о пользователе, зашедшем на сайт, чтобы он заново не логинился, кидаю запрос к бэкэнду с соответствующим токеном и после пары секунд получаю всю нужную информацию. Но при этом, как и предполагает работа самого React, у меня сначала показываются кнопки входа и регистрации, которые были сгенерированы ещё на этапе сборки сервера (не забываем про SSR от Next.js), а только потом после получения данных убираются кнопки, и вместо них появляется аватар пользователя и его никнейм. Повторю ещё раз вопрос: как мне пропустить стадию появления кнопок и при этом информация о пользователе отобразилась в коде страницы браузера для SEO (хотя в данном примере это слегка бессмысленно, но всё же)?
Прочесал документацию, многие англоязычные сайты и видео. Но в них рассматриваются простые примеры, которые связаны со статическими данными, т.е. запросы к список товаров, например. Для вывода списка мне не нужна дополнительная информация о чём-либо, поэтому я могу это сделать на сервере. Но для вывода информации о пользователи мне нужно залезть в localStorage, чтобы проверить есть ли вообще токен и валиден ли он.