【问题标题】:How to render a Component if the prop is a component?如果 prop 是组件,如何渲染组件?
【发布时间】:2018-08-13 14:17:52
【问题描述】:

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

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

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

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

【问题讨论】:

标签: reactjs react-native react-props react-component


【解决方案1】:

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

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

【讨论】:

  • 你说得对,这个看起来清晰多了。谢谢!
猜你喜欢
  • 2021-12-15
  • 2020-10-15
  • 2018-07-14
  • 2022-01-10
  • 1970-01-01
  • 2019-05-11
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多