我们可以从以下三个方面对两者进行分析:
第一点 => 流程顺序
“相应视图--->修改State”拆分成两部分,视图触发Action,Action再触发Mutation。
第二点 => 角色定位
基于流程顺序,二者扮演不同的角色。
Mutation:专注于修改State,理论上是修改State的唯一途径。
Action:业务代码、异步请求。
第三点 => 限制
角色不同,二者有不同的限制。
Mutation:必须同步执行。
Action:可以异步,但不能直接操作State。而且可以通过 action 来提交 mutations