我如何阅读以下箭头功能

时间:2018-12-12 07:28:06

标签: javascript

如何阅读以下英语箭头功能?我可以理解,有两个参数,即dispatch和getState。我如何阅读其余部分?

如何将其编写为普通函数?

    const apiMiddleware = ({ dispatch, getState}) => next => action => {  

6 个答案:

答案 0 :(得分:1)

作为普通函数编写的声明将如下所示:

const apiMiddleware = function({ dispatch, getState}){
 return function(next) {
    return function(action) {
      return something;
  }
 }
} 

我建议您阅读这篇有关高阶箭头函数here

的精彩文章

答案 1 :(得分:0)

我希望您认为此回复有用。

let squarevalue = input => { input * input }

let multiplyvalue = (input, multiplier) => { input * multiplier }

答案 2 :(得分:0)

这是用es5语法编写的样子

var apiMiddleware = function apiMiddleware(_ref) {
  var dispatch = _ref.dispatch;
  var getState = _ref.getState;
  return function (next) {
    return function (action) {
      console.log('action function body');
    };
  };
};

答案 3 :(得分:0)

写这个:

$ npm -g install yarn
+ yarn@1.12.3
added 1 package in 2.786s

作为正常功能(正常情况下,我指的是没有箭头):

const apiMiddleware = ({ dispatch, getState}) => next => action => {  

这是在ES5中编写代码的方式:

const apiMiddleware = function({dispatch, getState}) {
    return function(next) {
        return function(action) {
            //Rest of the code
        }
    }
}

答案 4 :(得分:0)

这是称为object destructuring的ES6不错的功能之一。此代码也很有趣,可能与您正在讨论的代码有关:

尝试将代码粘贴到其中,并将转换后的脚本视为原始JS:https://es6console.com/

答案 5 :(得分:0)

您可以使用以下babel编译器将es6代码转换为es5-

babel compiler