以下两种方法的结果是不同的,尽管它们看起来是一样的。
1
const addBlogPost = dispatch => {
return () => {
dispatch({type: 'add_blogpost'});
}
};2
const addBlogPost = dispatch => dispatch({type: 'add_blogpost'});有人能指出他们有什么不同吗?
发布于 2020-02-27 02:58:38
您可以使用此站点将es6箭头函数编译为普通JS,以便很容易地看出两者之间的区别。
第一个编译到此
var addBlogPost = function addBlogPost(dispatch) {
return function () {
dispatch({
type: 'add_blogpost'
});
};
};而第二个则编译为
var addBlogPost = function addBlogPost(dispatch) {
return dispatch({
type: 'add_blogpost'
});
};第一个函数返回一个具有分派的函数,而第二个函数直接返回一个分派。
发布于 2020-02-27 02:57:04
结果总是一样的,因为两个函数都在重新调整相同的东西。唯一的区别是:
dispatch函数的对象的函数。dispatch函数。https://stackoverflow.com/questions/60425579
复制相似问题