Возвращение аксиос обещаний от vuex action - PullRequest
1 голос
/ 08 марта 2019

Я не могу понять, если это плохой подход, чтобы действия vuex возвращали обещания axios, как в примере ниже.Причина, по которой я это делаю, заключается в том, что мне нужны некоторые значения из состояния vuex в запросе.Может кто-нибудь сказать мне, если это плохо или совершенно нормально?:)

/* Vuex action */
fetchSomething({ state }, id) {
  return getSomething(
    id,
    state.basket.shipping,
    state.basket.billing);
},

/* Method in vue component */
someMethod() {
  this.$store.dispatch('fetchSomething')
    .then(res => console.log(res));
}

1 Ответ

1 голос
/ 08 марта 2019

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

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

...