我有一个表组件,它接收一个字符串/数字数组作为prop,因此它需要一个rows
类型的参数:
type Row = (string | number)[];
但是,某些列需要显示React组件,而不是纯文本/数字。
如何更改输入内容以使其正常工作?我尝试过:
type Row = (string | number | React.PureComponent | React.Component)[];
答案 0 :(得分:17)
这里有许多可行的选择,根据您的使用方式,一些选择会比其他选择更好。我一直在使用React.ReactNode
来指定子级,但是您也可以在用例中使用它。
type Row = (string | number | React.ReactNode)[];
ReactNode
非常灵活,因为它定义为:
type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
和ReactChild
依次定义为:type ReactChild = ReactElement | ReactText;
如果您想要更严格,更不灵活,请尝试ReactElement
。