【发布时间】:2018-04-25 16:29:37
【问题描述】:
我们像这样创建展示组件或无状态组件
const MyComponent = () => {
return(<div>my component</div>)
}
但我见过这个
const MyComponent = () =>
<div>
<h1>head</h1>
my component
</div>
所以现在我在使用 es6 的箭头函数时需要大括号时感到困惑。
这让我在使用地图渲染列表时感到困惑
更短的版本
<div>
{map(o =>
<div>{o.name}</div>
)}
</div>
更长的版本
<div>
{map(o => {
return(<div>{o.name}</div>)
})}
</div>
两者都正确,但为什么要写更长的时间?
【问题讨论】:
-
见仁见智...有些人不明白,如果函数体是“简单”,那么
=>的缩写形式 -
不带大括号的版本返回
=>运算符后面的语句。带大括号的版本执行大括号内的代码块,并且不会自动返回任何内容。为清楚起见,人们会使用更长的版本,因为代码足够长,需要它。 -
这不是(只是)JavaScript。我认为它是 React 或类似的东西。请添加适当的标签。
-
@JLRishe 抱歉错过了反应
-
@JaromandaX 使用较短版本的缺点之一是您无法使用 console.log 进行调试。
标签: javascript reactjs ecmascript-6 jsx