美文网首页vuex
vuex中actions中函数默认自带参数context,为什么

vuex中actions中函数默认自带参数context,为什么

作者: cheesepear | 来源:发表于2020-12-17 19:29 被阅读0次

context的话就相当于state的父亲,上一级,包含着state中的所有属性

context:{

state, 等同于store.$state,若在模块中则为局部状态

rootState, 等同于store.$state,只存在模块中

commit, 等同于store.$commit

dispatch, 等同于store.$dispatch

getters 等同于store.$getters

}

常规写法调用的时候会使用context.commit,但更多的是使用es6的变量解构赋值,也就是直接在参数的

位置写自己想要的属性,如:{commit}。

例如:

prev ({dispatch, state}) {

const list = state.listInfo.songList

if (state.listInfo.songIndex === 0) {

state.listInfo.songIndex = list.length

} else {

state.listInfo.songIndex--

}

const hash = list[state.listInfo.songIndex] && list[state.listInfo.songIndex].hash

dispatch('getSong', hash)

},

dispatch:含有异步操作;而commit只是同步操作,都是提交 mutation,因为只能在mutation中才能够改变state中的值,然而mutation中只能进行同步操作,从而actions就出现了,actions允许异步和同步操作,但是对于actions的操作其实就是提交mutation来完成

来源:vuex中actions中函数默认自带参数context,为什么还可以写成{commit}或者{dispatch}或者其他的_单人�的博客-CSDN博客

相关文章

  • vuex中actions中函数默认自带参数context,为什么

    context的话就相当于state的父亲,上一级,包含着state中的所有属性 context:{ state,...

  • 操作vuex

    前沿:总结一下vuex中state,getters,mutations,actions的用法(主推map辅助函数)...

  • 构造函数 析构函数 拷贝赋值(GeekBand)

    1、默认构造函数 默认构造函数是没有参数的函数。另外,默认构造函数也可以在参数列表中以参数默认值的方式声明。默认构...

  • GeekBand-job2-note

    1、默认参数 默认参数可以放在函数声明或者定义中,但只能放在二者之一,通常我们都将默认参数放在函数声明中(.h文件...

  • 二、函数

    ES2015 二、函数 1、带参数默认值的函数 在ES5中模拟参数默认值 ES6中的参数默认值   在本例中,只有...

  • 7、函数

    7.1 默认参数 定义函数的时候,还可以有默认参数。例如Python自带的int()函数,其实就有两个参数,我们既...

  • vue

    vuex 状态管工具 actions context 是 store的类实例,包含state对象属性和commit...

  • Python函数的参数(详细版)

    函数的参数有:必选参数、默认参数、可变参数、关键字参数。 在Python中定义函数,可以用必选参数、默认参数、可变...

  • swift学习之函数

    函数定义 参数 swift函数参数默认的是输入参数或者常量参数,不允许在函数体中修改如果想要在函数体中修改参数值,...

  • 【ES6】函数默认参数与rest参数

    (一)函数默认参数 在ES6中,可以为函数的参数指定默认值。函数默认参数允许在没有值或undefined被传入时使...

网友评论

    本文标题:vuex中actions中函数默认自带参数context,为什么

    本文链接:https://www.haomeiwen.com/subject/erttnktx.html