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

Всем привет. А поясните за nuxt + vuex-persistedstate. Выходит вот какая

классная история. За счет vuex-persistedstate я сохраняю state в localStorage. Удобно и просто, казалось бы но нет.

В случае с ssr получение данных может идти с небольшой задержкой. Из-за чего nuxt сначала отдает дефолтный state, который может хранить в себе старые / не актуальные / пустые данные. Из-за чего тут еще больший ор. Так как из-за того что в state могут быть пустые данные, он тригерится на "слыш, у тебя тут html отличается от того что я тут рисую, тебе бан или два?" и ломает UI.
В случае если отключить ssr вовсе, вроде как и ... смысл то тогда было nuxt юзать? 👀 Ну, разве что из-за почти готовой основы в виде автоподгружаемых компонентов, страниц, store и тд. Так вот, в случае если ssr отключен, такой проблемы нет, так как клиент получает уже всегда актуальные (из localStorage) данные. А не те которые по умолчанию в state прописаны.

К тому же, в случае если ssr и данные в state не пустые, а те что "по умолчанию" - возникает еще одна проблемка. У меня некоторые компоненты выводят как раз таки информацию из $store.state (vuex). Но, в этих же компонентах есть пара инпутов в которые пользователь должен будет вводить некоторые данные. Так как vuex store нельзя редактировать не из mutations. Мне приходится брать значение из state, копировать в виде нового объекта (чтобы я мог его изменять, так как vuex не даст изменить state объект). Только после того как я сделаю копию я смогу ее изменять и передавать в виде параметра для mutation функции (через this.$store.commit("module/myMutation", myNewObject)). А тут уже еще прикол.

Помните я говорил что данные nuxt получает сначала те что по умолчанию прописаны в state? Так вот, он сначала получает дефолтные значения, из-за чего в компоненте весят данные по умолчанию. Конечно, тут мой косяк, я получаю данные единожды и не имею возможности синхронизировать текущий state. Но я что-то не пойму как бы сделать так что бы я и мог одновременно получать новые изменения и изменять state.

Для вывода делать отдельный объект, для отображения использовать значения из store? Подскажите, кто знает. Попытаюсь скинуть весь нужный код, а то я чет задолбался со всем этим 👀

2 ответов

56 просмотров
Black_Yuzia-Yuzia Автор вопроса
Black_Yuzia-Yuzia Автор вопроса

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта