【问题标题】:Returning axios promises from vuex action从 vuex 操作返回 axios 承诺
【发布时间】:2019-07-30 07:02:43
【问题描述】:

我不知道,让 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));
}

【问题讨论】:

  • 你能澄清一下“我需要一些来自请求中 vuex 状态的值”的意思吗?
  • @LassiUosukainen 我需要一些值保存在状态中作为请求的获取参数
  • 有多种方式可以访问请求前的状态。然而,从 Vuex 操作返回一个承诺与请求之后发生的事情有关。它与以任何方式发送请求无关。

标签: vue.js vuejs2 axios es6-promise vuex


【解决方案1】:

我看不出这样做的意义。 Vuex 操作的重点是执行检索数据的异步工作,然后到mutate Vuex 存储。

商店发生变异后,您可以access it from your Vue component。由于 Vuex 是 Vue 生态系统的一部分,它遵循与 Vue 相同的反应性原则。如果您需要在检索到数据后执行某些操作,您可以在要检索的变量上设置一个观察者,或者更常见的情况是将其用作计算属性。

【讨论】:

    猜你喜欢
    • 2020-05-15
    • 2019-06-20
    • 2018-04-24
    • 2019-08-27
    • 1970-01-01
    • 2020-03-02
    • 2018-12-02
    • 2017-05-22
    • 2018-11-26
    相关资源
    最近更新 更多