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.