[vue] vuex的action和mutation的特性是什么?有什么区别?
Activity
wenyejie commentedon Jun 21, 2019
action: 负责与外界交互, 比如请求数据(好像一般都是)
mutation: 负责: 内部state变更
一个对外, 一个对内
NingLin00 commentedon Jul 10, 2019
action: 通过执行 commit()来触发mutation的调用, 间接更新state ,
组件中通过$store.dispatch('action名称') 触发action,
可以包含异步代码(定时器, ajax)
mutation是一个对象 包含多个直接更新state的方法(回调函数) ,只能包含同步的代码, 不能写异步代码
xujunfa commentedon Jul 24, 2019
Action
store.dispatch()
方法触发,或者通过mapActions
辅助函数将 vue 组件的 methods 映射成store.dispatch()
调用Mutation
store.commit()
调用 MutationWenJieLi1998 commentedon Apr 17, 2020
Action
1.可以包含任意异步操作
2.它提交的是mutation,而不是直接变更状态
Mutation
1.唯一一个可以修改state的途径
2.必须是同步函数
yxllovewq commentedon Mar 10, 2022
mutations用于变更state,只能有同步代码。
actions用于提交mutaion变更state,可以有异步代码。