@AlexCruel

Серверный рендеринг страниц включая компоненты?

Существуют некоторые страницы и компоненты. Один компонент может находится на нескольких страницах.

Страница home содержит, например, компонент block. С помощью next.js формирую страницу с данными на сервере и отображаю пользователю. Но другая страница тоже имеет компонент block. Получается, что на ней будет дублироваться код загрузки данных (как в home), что не есть хорошо.

Что я предполагаю:
1. Сформировать данные на сервере и сохранить в store
2. Обращаться к этому store с других страниц
3. Сохранить страницу целостной для поисковых роботов (со всеми данными)

Сейчас воспользовался библиотекой next-redux-wrapper. Вызвал на странице home функцию getServerSideProps и сохранил значение в store. При переходе на другую страницу данные для компонента block берутся из store. Но если зайди на сайт не со страницы home, а с другой, где есть компонент block, тогда, естественно, store будет пустым. Получается, что нужно вставить getServerSideProps, который будет дублем.

Сами функции getServerSideProps и другие вызываются на страницах. В компонентах они не работают.

Может быть сделать какую-то нулевую страницу, которая будет рендерить компоненты с сервера, записывать данные в store и потом делать redirect на запрашиваемую пользователем страницу?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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