为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

交互式爱情 2023-03-10 13:41:29
这段代码有效,但我不禁认为有更好的方法。我无法将 expanded 设置为 false,因为当我这样做时组件会中断(就像他们在Set JSX attribute based on another JSX attribute react中所做的那样)另外,我需要添加更多条件分支,这意味着代码重复if (itemProps.Expanded == true) {  return (    <Accordion expanded={true}>    ...    </Accordion >  )}else {  return (    <Accordion>    ...    </ Accordion>  )}有什么建议么?
查看完整描述

2 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

您可以动态创建 props 对象并使用 ...(spread) 传递道具


const props = itemProps.Expanded == true ? { expanded: true } : {};

return <Accordion {...props}>...</Accordion>;


查看完整回答
反对 回复 2023-03-10
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

对不起,伙计们试过了,它奏效了。感谢您的时间


let expanded = undefined;

if (itemProps.Expanded) {

  expanded = true;

}


return (

    <Accordion expanded={expanded}>

    ...

    </Accordion >

)

```


查看完整回答
反对 回复 2023-03-10
  • 2 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信