Búsqueda de sitios web

reactjs - Error TS2339 de TypeScript en componente de React: La propiedad 'xyz' no existe en el tipo 'IntrinsicAttributes...'


Estoy intentando crear un componente React simple que acepte cualquier propiedad. La siguiente sintaxis con any se niega a funcionar (token inesperado justo antes de <):

export class ValidatedInput extends React.Component<any, any> {...}

El error desaparece reemplazando any por {} (¿alguien puede explicar la diferencia, por favor)?

export class ValidatedInput extends React.Component<{}, {}> {...}

Sin embargo, ahora cuando uso el componente en otro archivo, se queja de las propiedades que envío al componente. Por ejemplo:

<ValidatedInput
    entity={book}
/>

Esto me da un error:

TS2339: La propiedad 'entity' no existe en el tipo 'IntrinsicAttributes & IntrinsicClassAttributes' & Readonly<{ children?: ReactNode;...'}

¿Por qué está molesto TypeScript? ¿Alguien puede ayudar, por favor?

¡Gracias de antemano!

Respuesta #1

Parece que el compilador no entiende que estás usando sintaxis tsx. Verifica que tu archivo tenga la extensión 'tsx'.

Respuesta #2

Me enfrenté a problemas similares antes, primero verifica que el tipo de archivo sea .tsx como sugirió @Amid. Si eso no funciona, verifica que hayas guardado tus cambios. En mi caso, hice muchos cambios en varios archivos y no guardé todos los archivos que modifiqué, el error desapareció cuando guardé todos los archivos.