React JSX有选择地将属性传递给组件



这段代码有效,但我忍不住认为有更好的方法。我不能将expanded设置为false,因为当我这样做时组件会中断(就像他们在基于另一个JSX属性react的set JSX属性中所做的那样(

此外,我需要添加更多的条件分支,这将意味着重复代码

if (itemProps.Expanded == true) {
return (
<Accordion expanded={true}>
...
</Accordion >
)
}
else {
return (
<Accordion>
...
</ Accordion>
)
}

有什么建议吗?

您可以动态创建props对象,并通过。。。(扩散(

const props = itemProps.Expanded == true ? { expanded: true } : {};
return <Accordion {...props}>...</Accordion>;

很抱歉大家试过了,结果成功了。感谢您抽出时间

let expanded = undefined;
if (itemProps.Expanded) {
expanded = true;
}
return (
<Accordion expanded={expanded}>
...
</Accordion >
)
```

最新更新