Hilshire / blog

temporary blog
2 stars 0 forks source link

组件应该直接提交 mutation 吗? ( Should a component commit a mutation directly? ) #23

Open Hilshire opened 5 years ago

Hilshire commented 5 years ago

每当我使用 vuex 的时候,这个问题就像影子一样在我眼前游荡。根据 Vuex 的文档,actions 很容易被看作是一种用来处理异步的方式。但是,习惯 flux 方式数据管理的人会明白事情并不简单。实际上,对于希望拥有一个清晰的数据流的用户,将 actions 作为 mutation 的上层封装似乎是很自然的做法。这样,就会产生下面的问题。

Should a component commit a mutation directly?

这个 issue 于 2017年提交,至今仍未关闭。许多人在这里发表了真知灼见。从结果来看,在 actions 中进行改变的声音渐渐占据了主流。在我看来,这于项目复杂度相关。但这依然是一个伪命题。比如 event bus —— 谁都知道在简单项目中我们可以仅使用 event bus 而不是 vuex,可是实际上有多少人正真使用 event bus 呢?除非是那种真的简单的小项目,不然通过 actions commit mutation 可能更加合适