我一直在使用Vuex一段时间了,而且我一直遵循这种模式:组件使用Actions来提交Mutations以改变Store。我认为这是从文档中考虑此图表的正确方法:
我遇到的代码是人们直接在组件中提交突变,甚至没有创建简单的操作,除了触发突变之外没有其他目的。我甚至在Vuex文档中找到了几个这样的例子。
我认为,因为在文档中使用它必须是一个可接受的模式,我想知道跳过Actions并直接触发Mutations是否是由任何其他状态管理库(如Redx of Flux本身)所认可的模式。
TLDR:直接在Vuex中提交突变是否可以,如果是这样,其他状态管理库(如Redux)是否使用这样的模式?如果是这样,为什么不呢?
答案 0 :(得分:6)
请记住,突变必须是同步。如果您(和您的团队)确定没有机会出现异步,您可以直接在组件中提交。换句话说,使用简单直接的操作。
仅在操作中提交通常会为应用程序的代码增加一些清晰度和可靠性。
我没有使用Redux,但据我所知,一些州经理有中间件。 使用突变和动作(Vuex-way)可能会导致难以维护大型应用程序。
在未来的Vuex版本中,突变和操作应为merged into the one entity。