不需要提交突变的vuex动作

时间:2018-10-03 15:40:20

标签: vue.js vuex

我使用Vue和Vuex,遵循推荐的做法,即仅通过突变来更改状态。因此,所有Vue组件都将通过使用操作来更改状态,然后再执行一个突变。我还通过一些操作进行API调用,然后根据结果更新状态。

我现在有一些API调用,不需要在调用后更新状态。问题是我仍然应该使用动作吗?还是应该绕过vuex并直接从组件进行这些调用?

1 个答案:

答案 0 :(得分:2)

使用操作的主要原因如下:

  • 变异必须是同步的,动作可以是异步的->如果要在变异之前处理异步操作,则必须使用动作
  • 如果您想一次提交多个突变,可以将它们逻辑上捆绑为一个动作

因此,总的来说,您是对的:如果您清楚这些API调用不会以任何方式改变应用程序的状态,则不应通过操作来调用它们。 >

直接在组件内部进行这些调用,导入包含所需功能的模块,或者如果希望它们在多个组件之间共享,则将各自的方法放入mixin中。

但是,如果您应该在开发过程中发现这些调用的结果应该在应用程序的多个组件之间共享,请通过动作和变异将相应的逻辑移至存储。