为什么ESLint拒绝这样做?
let myFunc = (state) => {a:"b"};
这是说它期望一个函数或赋值调用。
答案 0 :(得分:2)
在ES6箭头功能中
如果使用大括号{}
,则应返回return
语句。
let myFunc = (state) => {
return { a:"b"}
}
如果使用不使用花括号,则应使用圆括号()
将返回对象括起来。
let myFunc = (state) => ({ a:"b"})
答案 1 :(得分:1)
以这种方式返回对象文字的箭头函数在语法上是模棱两可的,因为它也可能是其中带有标签a
的JavaScript块。您需要在原义周围加上括号以使其清楚:
let myFunc = (state) => ({a:"b"});