function makeAction(type) {
return ({ dispatch }, ...args) => dispatch(type, ...args);
};
这段代码是vuex
中actions.js
里的代码,通过babel
转成es5
后代码如下:
function makeAction(type) {
return function (_ref) {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
var dispatch = _ref.dispatch;
return dispatch.apply(undefined, [type].concat(args));
};
};
疑问如下:
这里的
dispatch
从哪里定义的?这段代码的作用?
感谢各位大神的悉心回答!!!!
这个是 es6 的语法,是“解构赋值使用”, 比如:
对于 vuex 中的 action 来说,actions 调用的第一个参数是
store
的实例,有dispatch
等方法属性,调用相当于:解构赋值