Redux语法中的链式箭头函数

Redux语法中的链式箭头函数,redux,react-redux,arrow-functions,Redux,React Redux,Arrow Functions,嗨,我正在研究Redux,目前我对Redux备忘单中给出的Redux语法感到困惑: 所以我的问题是:这个“链式”箭头函数的行为是什么样的?你可以这样写: const actionLogger = function({dispatch, getState} /* this is store object */) { return function(next) { return function(action) { console.log(action); ret

嗨,我正在研究Redux,目前我对Redux备忘单中给出的Redux语法感到困惑:


所以我的问题是:这个“链式”箭头函数的行为是什么样的?

你可以这样写:

const actionLogger = function({dispatch, getState} /* this is store object */) {
  return function(next) {
    return function(action) {
      console.log(action);
      return next(action);
    };
  };
};
所以链式箭头函数基本上代表嵌套函数。这可能有点混乱


如果要使用箭头功能:

const actionLogger = () => (dispatch, getState) => {
    console.log(getState())
   ......
};

所以我仍然困惑的是,dispatch和getState在这个嵌套函数中的最终位置是什么?事实上,传递给第一个函数的唯一参数是
存储
。该示例用于获取
dispatch
getState
方法。您可以在上一个函数中使用它们,其中返回下一步(操作),但通常不需要使用
dispatch
,因为它将触发新操作,您应该使用
next
const actionLogger = () => (dispatch, getState) => {
    console.log(getState())
   ......
};