为了账号安全,请及时绑定邮箱和手机立即绑定

a=>b => c这种函数如何理解

a=>b => c这种函数如何理解

UYOU 2019-02-21 14:21:16
es6中高阶函数多个箭头函数级联的情况如何很好的理解代码const setTitle = (title) => (WrappedComponent) => {   return class extends React.Component {      componentDidMount() {          document.title = title      }      render() {         return <WrappedComponent {...this.props} />      }   }}PS追问一下:大家说的,我能够理解了,但是每次都要在头脑中做转换,感觉代码可读性也不是特别的好,也可能是我太菜了。还有这种写法是不是最多也就写两层。
查看完整描述

3 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

其实就是ES6的柯里化写法,也就是先定义一个函数,然后再其内再返回一个新的函数以接受第二个参数
补充:
可以不只是两层。

查看完整回答
反对 回复 2019-02-25
?
慕仙森

TA贡献1827条经验 获得超7个赞

const setTitle = (title) => (WrappedComponent) => {}

//格式上可以看做

const setTitle = function(title){

    return function(WrappedComponent){

       

    }

}


查看完整回答
反对 回复 2019-02-25
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

const setTitle = (title) => {

return (WrappedComponent) => {

   return class extends React.Component {

      componentDidMount() {

          document.title = title

      }

      render() {

         return <WrappedComponent {...this.props} />

      }

   }

 }

}

从右往左,相当于(title) => {return ()=>{}}


查看完整回答
反对 回复 2019-02-25
  • 3 回答
  • 0 关注
  • 484 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信