繁体   English   中英

我如何阅读以下箭头功能

[英]How do I read the following arrow function

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

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

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

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

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

我建议你阅读有关高阶箭头功能这篇大文章在这里

我希望您觉得这个回应有用。

let squarevalue = input => { input * input }

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

如果它是用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'); }; }; }; 

写这个:

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

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

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

这就是在ES5中编写它的方式:

var apiMiddleware = function(data) {
    var dispatch = data.dispatch;
    var getState = data.getState;
    return function(next) {
        return function(action) {
            //Rest of the code
        }
    }
}

这是ES6不错的功能之一,称为对象解构 此代码也很有趣,可能与您的代码有关:

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

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

babel编译器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM