在不使用Vuex中的操作的情况下提交突变是不是很糟糕?

时间:2018-04-04 23:31:57

标签: redux state vuex flux state-management

我一直在使用Vuex一段时间了,而且我一直遵循这种模式:组件使用Actions来提交Mutations以改变Store。我认为这是从文档中考虑此图表的正确方法: enter image description here

我遇到的代码是人们直接在组件中提交突变,甚至没有创建简单的操作,除了触发突变之外没有其他目的。我甚至在Vuex文档中找到了几个这样的例子。

我认为,因为在文档中使用它必须是一个可接受的模式,我想知道跳过Actions并直接触发Mutations是否是由任何其他状态管理库(如Redx of Flux本身)所认可的模式。

TLDR:直接在Vuex中提交突变是否可以,如果是这样,其他状态管理库(如Redux)是否使用这样的模式?如果是这样,为什么不呢?

1 个答案:

答案 0 :(得分:6)

请记住,突变必须是同步。如果您(和您的团队)确定没有机会出现异步,您可以直接在组件中提交。换句话说,使用简单直接的操作。

仅在操作中提交通常会为应用程序的代码增加一些清晰度和可靠性。

我没有使用Redux,但据我所知,一些州经理有中间件。 使用突变和动作(Vuex-way)可能会导致难以维护大型应用程序。

在未来的Vuex版本中,突变和操作应为merged into the one entity