vue

vuex的action和mutation的特性是什么?有什么区别?

发布于 2021-01-11 17:02:22
关注者
0
被浏览
721
4 个回答
  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    action: 通过执行 commit()来触发mutation的调用, 间接更新state ,
    组件中通过$store.dispatch('action名称') 触发action,
    可以包含异步代码(定时器, ajax)
    mutation是一个对象 包含多个直接更新state的方法(回调函数) ,只能包含同步的代码, 不能写异步代码

  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    Action

    • 一些对 State 的异步操作可放在 Action 中,并通过在 Action 中 commit Mutation 变更状态
    • Action 可通过 store.dispatch() 方法触发,或者通过 mapActions 辅助函数将 vue 组件的 methods 映射成 store.dispatch() 调用

    Mutation

    • 在 vuex 的严格模式下,Mutaion 是 vuex 中改变 State 的唯一途径
    • Mutation 中只能是同步操作
    • 通过 store.commit() 调用 Mutation
  • 面试哥
    面试哥 2021-01-12
    为面试而生,有面试问题,就找面试哥。

    Action
    1.可以包含任意异步操作
    2.它提交的是mutation,而不是直接变更状态

    Mutation
    1.唯一一个可以修改state的途径
    2.必须是同步函数

知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看