如果道具是组件,如何渲染组件?
How to render a Component if the prop is a component?
我想制作一个 'flexible' 组件,但不确定这是否是一个好的代码:
{
leftText instanceof Object ?
leftText :
<Text>
{ leftText }
</Text>
}
因此,如果我收到一个组件作为道具,我不想将它包装到另一个组件中,而是渲染组件本身。否则只想将道具包装在文本组件中。
这个问题有好的解决方法吗?
是的,你的方法绝对有效!但是只是验证 child 是否是 Object 是非常通用的。您可以使用:
{
React.IsValidElement(leftText) ?
leftText :
<Text>
{ leftText }
</Text>
}
我想制作一个 'flexible' 组件,但不确定这是否是一个好的代码:
{
leftText instanceof Object ?
leftText :
<Text>
{ leftText }
</Text>
}
因此,如果我收到一个组件作为道具,我不想将它包装到另一个组件中,而是渲染组件本身。否则只想将道具包装在文本组件中。
这个问题有好的解决方法吗?
是的,你的方法绝对有效!但是只是验证 child 是否是 Object 是非常通用的。您可以使用:
{
React.IsValidElement(leftText) ?
leftText :
<Text>
{ leftText }
</Text>
}