首页 > 解决方案 > 如果 prop 是组件,如何渲染组件?

问题描述

我想制作一个“灵活”的组件,但不确定这是否是一个好的代码:

{
    leftText instanceof Object ? 
        leftText :
           <Text>
              { leftText }
           </Text>
}

因此,如果我收到一个组件作为道具,我不想将它包装到另一个组件中,而是渲染组件本身。ELSE 只想将道具包装在 Text 组件中。

有没有解决这个问题的好方法?

标签: reactjsreact-nativereact-propsreact-component

解决方案


是的,你的方法绝对有效!但是仅仅验证孩子是否是一个对象是非常通用的。你可以使用:

{
    React.IsValidElement(leftText) ? 
        leftText :
           <Text>
              { leftText }
           </Text>
}

推荐阅读