以下两个虽然看起来像一样,但结果却不同。
const addBlogPost = dispatch => {
return () => {
dispatch({type: 'add_blogpost'});
}
};
const addBlogPost = dispatch => dispatch({type: 'add_blogpost'});
谁能指出它们有何不同?
结果将始终是相同的,因为两个函数正在重新调整同一件事。唯一的区别是:
dispatch
函数的对象。dispatch
函数。 您可以使用此site来将es6箭头函数编译为原始JS,以轻松看出差异。
[第一个编译为此
var addBlogPost = function addBlogPost(dispatch) {
return function () {
dispatch({
type: 'add_blogpost'
});
};
};
而second编译为此
var addBlogPost = function addBlogPost(dispatch) {
return dispatch({
type: 'add_blogpost'
});
};
第一个返回具有调度的函数,第二个直接返回调度。