带预定道具的条件组件渲染

时间:2020-04-17 08:44:38

标签: javascript reactjs

如果有这样的代码:

const UseComponent = useXComponent ? XComponent : Fragment;
...
<UseComponent cid={cid}>
  {children}
</UseComponent>

cid参考期间可以通过任何方式设置XComponent?因为我不需要为Fragment设置道具。

感谢帮助。

2 个答案:

答案 0 :(得分:1)

除了上面的答案外,这是简写。

const UseComponent = useXComponent ? XComponent : Fragment;
...
<UseComponent {...(useXComponent ? {cid} : {}))>
  {children}
</UseComponent>

答案 1 :(得分:0)

您需要安装https://babeljs.io/docs/en/babel-plugin-transform-object-rest-spread.html才能使以下内容正常工作

const UseComponent = useXComponent ? XComponent : Fragment;
let props = {};
if(useXComponent) {
 props = {
  cid: cid
 }
}

<UseComponent {...props}>
  {children}
</UseComponent>