reactjs - Escribir una serie de instancias de componentes React
typescript typescript-typings (1)
Tengo un componente de tabla que recibe una matriz de series de cadenas / números como accesorio, por lo que toma un parámetro de
rows
escrito de esta manera:
type Row = (string | number)[];
Sin embargo, algunas columnas deben mostrar un componente Reaccionar en lugar de un texto / número sin formato.
¿Cómo puedo cambiar los tipings para que funcione? Intenté esto:
type Row = (string | number | React.PureComponent | React.Component)[];
Aquí hay muchas opciones que funcionarían, algunas mejores que otras dependiendo de cómo las uses.
He estado usando
React.ReactNode
para especificar niños, pero probablemente podría usarlo también para su caso de uso.
type Row = (string | number | React.ReactNode)[];
ReactNode
es bastante flexible, ya que se define como:
type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
y
ReactChild
a su vez, se define como:
type ReactChild = ReactElement | ReactText;
type ReactChild = ReactElement | ReactText;
Si lo quieres más estricto, menos flexible, prueba
ReactElement
.