Задать вопрос
1PeGaS
@1PeGaS

Как работает skipHydrate в pinia?

1) Когда мы оборачиваем переменную в skipHydrate значит ли это что она получит своё состояние только на стороне клиента?
2) А пока мы ещё на стороне сервера какое состояние у этой переменной? undefined?
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@null_object
Процесс гидратации - это процесс восстановления состояния. Обычно сервер при SSR генерирует HTML и встраивает "гидратирующее состояние" в виде window.__INITIAL_STATE__ или аналогичного объекта прямо в HTML. Клиент потом использует эти данные, чтобы инициализировать своё состояние.

То есть весь происходит примерно следующая последовательность действий:
  1. Выполняется код вашего стора на сервере
  2. Вычисленное состояние (все сторы) сериализуется и например встраивается в html
  3. На клиенте код стора выполняется повторно, и если есть сериализованное состояние из прошлого шага, оно перезаписывает текущее


Отвечая на ваш вопрос:
1) Состояние оно получит в любом случае и на сервере, и на клиенте, но будет помечено, как не требующее восстановления
2) Будет то состояние, которые вы зададите
Ответ написан
Комментировать
1PeGaS
@1PeGaS Автор вопроса
Спасибо!
Следует ли из этого что при заведении стореджа — const test = skipHydrate(useLocalStorage('test', true), сторежд создастся на сервере, а далее заново на клиенте(браузере) пользователя? Я думал смысл skipHydrate в том, чтобы не нагружать сервер лишней инфой типа стореджи, чтобы они были чисто на браузерах пользователях а не на сервере.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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