SashaLevkovich / middle.SandwormRampage.praktikum.yandex

https://middle-sandworm-rampage-praktikum-yandex-client.vercel.app
0 stars 0 forks source link

Настроить Redux и Router в SSR #56

Open SashaLevkovich opened 1 week ago

SashaLevkovich commented 1 week ago

Описание:

  1. Загрузка данных для серверного рендеринга:
    1. Если ваши компоненты требуют предварительной загрузки данных на сервере, добавьте эту функциональность в функцию-обработчик на сервере.
    2. Используйте методы хранилища Redux, такие как store.dispatch(), для инициирования запросов данных на сервере перед рендерингом компонентов, либо формирование изначального стейта при создании стора.
  2. Сохранение состояния Redux на сервере:
    1. Получите текущее состояние хранилища Redux с помощью метода store.getState().
    2. Реализуйте сериализацию состояния в строку, чтобы его можно было передать на клиент.
    3. Отправьте сериализованное состояние в ответ сервера, который будет отправлен клиенту.
  3. Передача состояния Redux на клиент:
    1. Добавьте сериализованное состояние Redux в шаблон HTML, который будет отправлен клиенту.
  4. Инициализация клиентской стороны Redux:
    1. На клиентской стороне получите сериализованное состояние Redux из HTML-шаблона или глобальной переменной.
    2. Десериализуйте состояние и передайте его в функцию createStore() при создании Redux-хранилища на клиенте.
  5. Приложение должно рендерить именно ту страницу, по какому роуту перешел пользователь, используйте StaticRouter.

Ожидание:

После выполнения этой задачи ожидается, что Redux state будет создаваться на сервере. Также на сервере будет рендериться именно тот роут, по которому пришёл пользователь. Инициализация данных по необходимости. Авторизация по куке будет в 9 спринте.

Научиться пересоздавать клиентское Redux-хранилище из серверного (initialState должен быть из стейта, который был на сервере).

linear[bot] commented 1 week ago

SAN-37 Настроить Redux и Router в SSR