我的react组件没有用大括号呈现,这是代码:https : //jsfiddle.net/69z2wepo/21704/
class R1 extends React.Component {
render() {
return (
<div className="r1">
{this.props.data.map( datum =>
<h1 key={datum}> {datum} </h1>
)}
</div>
);
}
}
class R2 extends React.Component {
render() {
return (
<div className="r2">
{this.props.data.map( datum => {
<h1 key={datum}> {datum} </h1>
})}
</div>
);
}
}
请注意,R1 和 R2 组件之间的唯一区别是 R1 在映射中的“=>”之后不使用 {},而 R2 使用。R1 工作正常,但 R2 不渲染任何东西。
我对 javascript 和 react(来自 C/C++)很陌生,我认为对于多行块,应该包含 {}。但这显然在这里不起作用。
只是想知道这是 javascript 特定的语法问题还是与 React 相关的问题?在函数映射中使用 {} 有什么问题。
PS:在实际代码中,如果有任何区别,我使用不可变列表而不是普通的 javascript 列表。