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

Приведу пример: на первой странице сайта есть список товаров. При

клике на товар, он сохраняется во vuex и после перехода на другую странице, данные о товаре берутся из стора, а вот что делать если на другую странице был сделан переход не с первой страницы, а из адресной строки? вот поэтому мне нужно в computed свойствах вызвать api для подтягивания данных о товаре из api

11 ответов

4 просмотра

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

kentforth-Rusanov Автор вопроса
Алексей Магнер
Вся логика обрабатывается в экшене. Нет данных - з...

У меня данные которые рендарятся в копоненте берутся из стора. Данные рендарятся из computed (использую mapState) Но может быть так,что обьект из стора может быть пустым , в этом случае мне нужно сделать как-то проверку в computed => сделать запрос API для получения обьекта, сохранить обьект в стор и снова отрендерить его в компоненте. Можэет мне не через computed это нужно делать, я вот не знаю

kentforth Rusanov
У меня данные которые рендарятся в копоненте берут...

Эта проверка делается в экшене, написал ведь уже. И в компоненте используется не стейт, а экшен

kentforth-Rusanov Автор вопроса
Алексей Магнер
Вся логика обрабатывается в экшене. Нет данных - з...

и ещё и компонент сыпится и показывает ошибки, так как данные пустые, (property is not defined)

kentforth-Rusanov Автор вопроса
Алексей Магнер
Эта проверка делается в экшене, написал ведь уже. ...

а экшн вызывать в Mounted() или это как-то в computed можно делать?

Думаю что тут стоит применять другой подход. Сохранять данные не в стор, а в переменную data самого компонента. И соответственно грузить данные через апи.

kentforth-Rusanov Автор вопроса
Vitalii Demchuk
Думаю что тут стоит применять другой подход. Сохра...

в смысле передавать данные из одного компонента в другой через emit?

Всегда стоит вытягивать инфу о товаре с помощью апи при переходе на его страницу. А то что у вас на главной есть список товаров должно вытягиваться отдельным апи запросом на сервер, который выдаст список товаров с краткой инфой по каждому из них и id, по которому вы будете вытягивать полную инфу о товаре при переходе на его страницу. Тут нет необходимости складывать в стор всю вашу БД которая хранится на бэкенде чтобы ее потом показывать на других страницах. Данные о товаре в БД могут измениться и ваш стор об этом ничего не узнает

kentforth-Rusanov Автор вопроса
elromio
Всегда стоит вытягивать инфу о товаре с помощью ап...

да, это конечно правильный подход, но я исхожу из того,что мне предоставили, а предоставили мне один апи со списком всех товаров(вся характеристика каждого товара в этом же апи) и могу получить ещё апи для каждого товара отдельно,в данном случае мне проще сохранить один апи со списком всех товаров, и уже при клике на каждый товар сортировать массив во vuex и доставвать оттуда товар, а не делать каждый раз новый запрос на сервер

kentforth-Rusanov Автор вопроса
elromio
Всегда стоит вытягивать инфу о товаре с помощью ап...

в created() хуке на главной старнице у меня есть запрос на сервер для получения всех товаров, то есть при каждом заходе на главную страницу, список товаров во vuex перезаписывается

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

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

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта