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

Всем привет! Знатоки, поясните как правильно. 1)Норм практика ли забирать данные

в дочерних компонентах из стора, данные эти получаем в родительском через fetch(), далее коммитим в стор. Или надо опускать их пропсами?

2)Объясните по русски разницу между asyncData и fetch на практических примерах. Где что лучше использовать? На данный момент склоняюсь к юзу fetch везде, поправьте если не так.

19 ответов

36 просмотров

1. Если используешь данные больше чем в 2-3 местах, делай запрос в сторе. А активируй запрос в маунтеде через диспатч.

1. Лучше пропсами, так точно тестировать легче будет. Это дефолтная практика, когда есть родительский компонент, который забирает данные и раздает на дочерние через пропсы. 2. asyncData это хук который доступен только на страницах накста, данные которые возвращаешь в asyncData автоматом сливаются в обычную data. Нету доступа к this. Работает и на сервере, и на клиенте. Если на странице определена asyncData, то переход на нее будет блокироваться, пока все асинхронные операции там не закончатся (как и на сервере, так и на клиенте) fetch это хук который доступен в любом компоненте, по дефолту включен на сервере и на клиенте, но на сервере можно выключить. Есть доступ к this. На сервере страница не будет отдаваться, пока все fetch не завершатся, но на клиенте этот хук не блокирует рендеринг страницы, в отличии от asyncData. если ты не хочешь рисовать страницу, пока не получишь данные - бери asyncData, в других случаях можно брать fetch. Все что я написал работает для 2-й версии накста, в третьей намного легче с этим.

Alex | KKteam- Автор вопроса
Alex | KKteam- Автор вопроса
Maksym Anisimov
1. Лучше пропсами, так точно тестировать легче буд...

Касаемо google page speed как лучше делать? asyncData с lazy hydrate? Или есть другой способ? Как гугл относится к fetch?

Alex | KKteam
Касаемо google page speed как лучше делать? asyncD...

Вам в целом без разницы, потому что и asyncData и fetch блокируют получение html на сервере, пока не пройдут запросы

Alex | KKteam- Автор вопроса
Maksym Anisimov
1. Лучше пропсами, так точно тестировать легче буд...

Вот еще пример. Есть данные в сторе, которые мы получаем при инициализации другого компонента, нам эти данные надо применить в дочернем компоненте, но уже другого компонента. Как будет правильнее сделать? Получить данные из стора в родительском и опускать пропсами? Когда много данных, получается много пропсов, не лаконично, или это норма?

Alex | KKteam- Автор вопроса
Vlad
эм, mapState

Я к тому что, плохая ли практика получать данные из стора в дочерних компонентах? Плохо будет прослеживаться поток данных, я имею ввиду на взгляд

Alex | KKteam
Я к тому что, плохая ли практика получать данные и...

а для чего надо прослеживать поток данных?

Alex | KKteam
Вот еще пример. Есть данные в сторе, которые мы по...

Ну если эти компоненты не в одной иерархии, или если глубина прямо реальная большая, то лучше конечно через стору получить доступ к данным. Но это точно не должны быть компоненты по типу кнопок, то есть которые глупые, они не должны знать об окружающем мире

Alex | KKteam- Автор вопроса
Vlad
а для чего надо прослеживать поток данных?

чтобы было красиво, понятно, наглядно

Alex | KKteam- Автор вопроса
Maksym Anisimov
Ну если эти компоненты не в одной иерархии, или ес...

Что скажете насчет модулей vuex? Удобная ли вещь и в каком контексте, если да?

Alex | KKteam
Что скажете насчет модулей vuex? Удобная ли вещь и...

Конечно удобная, писать все в корне vuex - плохо, потом же каша будет)

смотря какие данные ты грузишь

Alex | KKteam- Автор вопроса
Anton Permyakov
смотря какие данные ты грузишь

Можете привести практический пример? Где допустим asyncData, а где fetch более профитно

Alex | KKteam
Можете привести практический пример? Где допустим ...

я про первый вопрос, на второй и так много видосов отвечают

Alex | KKteam
Вот еще пример. Есть данные в сторе, которые мы по...

в таком случае точно не стоит тянуть данные из стора напрямую, так мы связываем эти компоненты при этом это происходит неявно

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

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

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
Карта сайта