reactjs typescript typescript-typings

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 .