React TSX - 在 React element prop 中使用 Lambda 表达式
React TSX - Use Lambda expression in React element prop
我有一个 SplitButton 并想在标签中使用 Lambda 表达式,如下所示:
<SplitButton
options={[
{
label: (
{hasValues && isSelected.length === 0 ? (
<FormattedMessage defaultMessage = "Text A"/>
) : (
<FormattedMessage defaultMessage = "Text B"/>
)}
),
value: "myValue",
}, ]}
/>
然而,这给了我一个错误,说“属性 value is missing in type {label: JSX.Element} but required in type {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",
},
]}
/>
我有一个 SplitButton 并想在标签中使用 Lambda 表达式,如下所示:
<SplitButton
options={[
{
label: (
{hasValues && isSelected.length === 0 ? (
<FormattedMessage defaultMessage = "Text A"/>
) : (
<FormattedMessage defaultMessage = "Text B"/>
)}
),
value: "myValue",
}, ]}
/>
然而,这给了我一个错误,说“属性 value is missing in type {label: JSX.Element} but required in type {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",
},
]}
/>