请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

this.setState(() => ({}))写法问题

您好老师,请问

  1. 两种写法有什么区别
    this.setState(() => ({

}))

this.setState(() => {
return {}
})

  1. 还有,很难理解"=>"这个符号的含义。
    我就感觉是this调用了setState这个函数 这个箭头不理解是什么意思

正在回答 回答被采纳积分+3

2回答

慕尼黑1370122 2020-03-01 19:12:17

ES6箭头函数=>里面如果只有一句return,那么可以把 =>{return 返回值} 简写成 =>返回值。

至于这里this.setState(()=>({})),为什么箭头函数返回值是({}),普通函数返回值是{},可以理解成把{}加了一层转译。如果箭头函数返回一个对象时不加小括号(),那()=>{}解析成ES5就是function(){},没有返回值。

1 回复 有任何疑惑可以回复我~
dancoder 2019-09-26 23:32:42

1.老师在3-6代码优化的课程里不是说这是 es6 对于return 的简写嘛

({
    xxx.xxx
})
相当于:
{
    return {
        xxx.xxx
    }
}

2.“=>”的含义

我觉得你可以了解一下lambda表达式,现在很多后端语言都支持这种写法;

比如java ,C#,还有python都有类似的函数式写法;

我是这么理解的;

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信