我有一个函数组件,它返回一个锚点元素,该元素可以具有属性href
和角色
,这取决于传递给它的props
:
function Item(props) {
return (
<a {...props.toSubMenu && {role: 'button'}} {...props.href && {href: props.href}}>
{props.children}
</a>
);
}
创建此组件时,我首先尝试通过props
,而不使用像这样的扩展运算符:
分析错误:意外令牌,应为“…”
所以目前,我的组件按照我想要的方式工作,但是我不明白为什么我必须使用扩频运算符。在代码的其他部分(如第4行),我不需要它。我已经在这个问题和这个问题以及反应留档中读到过,但我仍然不确定。
在JSX中,{}不会像在许多模板语言中那样输出字符串,您需要将其视为一个赋值,其中左手是属性,现在根据设置属性设置值,只需遵循相同的逻辑:解释为什么错误显示为预期“…”。如果{}不在赋值的右侧,那么您可能希望分散多个属性,因此,请尝试以下方法
function Item(props) {
return (
<a role={props.toSubMenu ? 'button' : undefined} href={props.href}>
{props.children}
</a>
);
}
function Item(props) {
return (
<a {...props.toSubMenu && {role: 'button'}} >
{props.children}
</a>
);
}
props.toSubMenu
不是null
function Item(props) {
return (
<a {role: 'button'} >
{props.children}
</a>
);
}
function Item(props) {
return (
<a {...props.toSubMenu && ...{role: 'button'}} >
{props.children}
</a>
);
}
{role:'button'}
展开为:function Item(props) {
return (
<a role="button" >
{props.children}
</a>
);
}
{...props.toSubMenu && {role: 'button'}}
最外面的{}
不是对象
的符号,它是代码段
在jsx
文件中运行的符号。
function Item(props) {
return (
<a role={props.toSubMenu && 'button'} >
{props.children}
</a>
);
}
角色
已经在道具
中定义好了,为什么不把它展开呢我想你想给我
function Item(props) {
return (
<a role={props.toSubMenu ? 'button' : undefined} href={props.href}>
{props.children}
</a>
);
}
问题内容: 我创建了一个用于显示工具提示的指令: 对应功能: 应用于此: 这是我观点的一部分,由拥有者的控制器处理 为什么必须调用才能将更改应用到,该更改是早先声明和初始化的? 问题答案: 因为附加到事件的回调超出了angular的范围;angular不知道该函数何时运行/结束,因此摘要循环永远不会运行。 调用或告诉angular更新绑定并触发任何手表。
我正在设计一个网站,在导航我有2个链接有下拉菜单(“关于”和“服务”)。当你将鼠标悬停在链接上时,下拉菜单就会出现,然后当你点击链接时,下拉菜单就会消失,然后如果你再点击它,下拉菜单就会再次出现。所以基本上,为了进入那个页面,你必须三次点击链接。有没有人知道我可以做什么来改变这个,这样你就可以在点击一次后进入页面? 这是导航在我的HTML代码中的样子: 以下是相关的CSS: 编辑:我发现下拉菜单是
关于在最新版本的GCC和Clang中编译有几个问题:实验::filessystems链接器错误 但是现在< code>filesystem已经被c 17接受,所以不再需要< code>experimental或< code>-lstdc fs标志,对吗? 错了,我甚至不能 只给了我< code >实验版本,我怎么能包括正式接受的版本呢?
在Scala表示法中,是一个函数,它接受任何类型并将其映射到所有列表类型集合中的一个类型,例如它将类型映射到类型并映射上的函数 到 到 现在,的每个实例都是一个monoid,具有函数(在Haskell中为)和函数(在Haskell中为)。我的猜测是,可以使用列表是单ID这一事实来说明必须映射列表的所有元素。我在这里的感觉是,如果从Applicative中添加函数,就会得到一个列表,其中只有一个其他
本文向大家介绍React必须使用JSX吗?相关面试题,主要包含被问及React必须使用JSX吗?时的应答技巧和注意事项,需要的朋友参考一下 首先解释一下什么是JSX,是JavaScript的语法扩展,可以让我们编写像html一样的代码,在JSX中使用的”元素“,不局限于HTML中的元素,可以是任何一个react组件。 react判断一个元素是HTML元素还是react 组件的原则就是看第一个字母是
我一直在尝试将一个html网站移植到Gatsbyjs并做出反应。在构建header Comparement时,我在带有的行中得到一个错误“相邻的JSX元素必须包装在一个封闭的标记中”。我想不出这个问题,请你帮忙。我使用有状态组件构建它的原因是,稍后我将向它添加一些额外的功能。 这是我的代码: