reactjs - React TSX - 在 React 元素道具中使用 Lambda 表达式
问题描述
我有一个 SplitButton 并想在标签中使用 Lambda 表达式,如下所示:
<SplitButton
options={[
{
label: (
{hasValues && isSelected.length === 0 ? (
<FormattedMessage defaultMessage = "Text A"/>
) : (
<FormattedMessage defaultMessage = "Text B"/>
)}
),
value: "myValue",
}, ]}
/>
但是,这给了我一个错误,提示“类型 {label: JSX.Element} 中缺少属性值,但类型 {label: ReactNode; value: string} 中需要属性值。”
有没有办法让 Lambda 表达式在 React 元素中作为 Prop 工作?
解决方案
没必要label: ({...})
,{}
这里搞乱了代码。
改用这个:
<SplitButton
options={[
{
label:
hasValues && isSelected.length === 0 ? (
<FormattedMessage defaultMessage="Text A" />
) : (
<FormattedMessage defaultMessage="Text B" />
),
value: "myValue",
},
]}
/>
推荐阅读
- java - 如何使用 TCP 连接到服务器
- python - datetime.now returns wrong time if timezone changed after running interpreter
- mysql - Compare MySQL Timestamp with NodeJS
- android - 如果我点击 ImageView1 中的一个位置,则在 ImageView2 上以与 ImageView1 相同的坐标绘制一个圆圈,反之亦然
- c# - 使用 system.net.webclient 时如何解决“远程服务器返回错误 401 未授权”?
- python - Python text processing
- javascript - 我的网站上出现了额外的空白 div 层,我不知道如何删除它。
- python-3.x - Python DRY 类初始化
- c - Arduino C 多维数组切换
- postgresql - How to allow a user to see a subset of a table or view