Javascript 如何呈现字符串或组件?

Javascript 如何呈现字符串或组件?,javascript,reactjs,Javascript,Reactjs,我的表格中行组件的道具如下所示: interface props { data: Array<string|number> | Array<React.Component> } 界面道具{ 数据:数组|数组 } 我尝试使用data.map(),但它给了我错误,因为数据也可以包含React.Component 如何呈现包含给定数组项内容的表行?如您在注释中所述,您实际上不是在使用组件,而是在使用元素。在这种情况下,您需要使用React.ReactElement而

我的表格中
组件的道具如下所示:

interface props {
    data: Array<string|number> | Array<React.Component>
}
界面道具{
数据:数组|数组
}
我尝试使用
data.map()
,但它给了我错误,因为数据也可以包含
React.Component

如何呈现包含给定数组项内容的表行?

如您在注释中所述,您实际上不是在使用组件,而是在使用元素。在这种情况下,您需要使用
React.ReactElement
而不是
React.Component
。元素是组件的实例

interface props {
    data: Array<string | number> | Array<React.ReactElement>
}
如果您只想要
string | number | React.ReactElement
,而不想要
false
true
null
,请使用
React.ReactChild
而不是
React.ReactNode
,因为它涵盖了
string | number | ReactElement

interface props {
    data: Array<React.ReactChild>
}
界面道具{
数据:数组
}

有关其差异的更多详细信息,请参见

,正如您在评论中提到的,您实际上不是在使用组件,而是在使用元素。在这种情况下,您需要使用
React.ReactElement
而不是
React.Component
。元素是组件的实例

interface props {
    data: Array<string | number> | Array<React.ReactElement>
}
如果您只想要
string | number | React.ReactElement
,而不想要
false
true
null
,请使用
React.ReactChild
而不是
React.ReactNode
,因为它涵盖了
string | number | ReactElement

interface props {
    data: Array<React.ReactChild>
}
界面道具{
数据:数组
}

有关其差异的更多详细信息,请参见

它们是反应组件还是反应元素?也就是说,数组是
data={[Foo,Bar]}
还是
data={[,]}
?您可以在使用映射函数的地方共享完整的代码吗。@cbr格式为[,],它们是反应组件还是反应元素?也就是说,数组是
data={[Foo,Bar]}
还是
data={[,]}
?您能在使用map函数的地方共享完整的代码吗。@cbr格式为[,]