【发布时间】:2017-04-11 16:52:48
【问题描述】:
我在学习 React 时看到过类似的代码
const LinkCell = ({rowIndex, data, col, ...props}) => (
<Cell {...props}>
<a href="#">{data.getObjectAt(rowIndex)[col]}</a>
</Cell>
);
另外,到目前为止,我认为在 ES6 中的函数简写是
let sum = (a, b)=>{
return a + b;
}
第一个和第二个有什么不同?
【问题讨论】:
-
第二个也可以写-
let sum = (a, b)=> a + b; -
()=>()的第二组括号用于分组,因此它不需要{}所需的return关键字。 -
@nnnnnn
() => (...)用于 React 的 JSX。如果我没记错的话,它表示 JSX。但是=> {...}创建了一个带有语句的新块,而=> (...)就像=> { return (...) }。除非您创建一个新块,否则箭头后面的值是返回值 - 隐式。 -
@AndrewLi - 我不使用 JSX,但
()=>()在普通 (ES6) JS 中完全有效(假设你实际上在第二个括号内放了一些东西)。 -
@AndrewLi:
(...)与 JSX 无关。它们似乎只是为了可读性而添加的。它们也可以在不改变功能的情况下省略。
标签: javascript reactjs ecmascript-6 react-jsx