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

来源:3-6 TodoList 代码优化

慕粉13691677711

2019-09-26

您好老师,请问

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

}))

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

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

1回答

慕尼黑1370122

2020-03-01

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

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

1
0

dancoder

2019-09-26

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

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

2.“=>”的含义

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

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

我是这么理解的;

0
0

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程