【发布时间】:2020-08-09 02:04:20
【问题描述】:
我有一个功能组件,它返回一个锚元素,该元素可以具有href 和role 属性,具体取决于传递给它的props:
function Item(props) {
return (
<a {...props.toSubMenu && {role: 'button'}} {...props.href && {href: props.href}}>
{props.children}
</a>
);
}
在创建这个组件时,我首先尝试在不使用扩展运算符的情况下传递 props,如下所示:
<a {props.toSubMenu && {role: 'button'}}>,但这给了我错误:
解析错误:意外的令牌,应为“...”
所以目前,我的组件按我想要的方式工作,但我无法弄清楚为什么我必须使用扩展运算符。在我的代码的其他部分(如第 4 行)我不需要它。我在this question 和this one 和react documentation 中读到过它,但我仍然不确定。
【问题讨论】:
-
不,你不能;这是一个非常错误的传播用法;