React组件中的TypeScript TS2339错误:属性'xyz'在类型'IntrinsicAttributes ...'上不存在'
问题描述:
我想创建一个简单的React组件,它具有任何属性。与any
以下语法拒绝(只是<
之前意外的标记)的工作:React组件中的TypeScript TS2339错误:属性'xyz'在类型'IntrinsicAttributes ...'上不存在'
export class ValidatedInput extends React.Component<any, any> {...}
错误更换any
与{}
(可有人请解释的差额)消失:
export class ValidatedInput extends React.Component<{}, {}> {...}
然而,现在,当我在另一个文件中使用组件时,它会抱怨我发送到组件的属性。例如:
<ValidatedInput
entity={book}
/>
这给了我一个错误:
TS2339: Property 'entity' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes' & Readonly<{ children?: ReactNode;...'
什么是打字稿不高兴?有人可以帮忙吗?
在此先感谢!
答
它看起来像编译器不明白,你正在使用TSX语法。验证您的文件是否具有'tsx'扩展名。
只是一个猜测 - 确保你在tsx文件中声明你的compoent。 – Amid
这是一个很棒的猜测@Amid!我从ES6移植代码并忘记更改文件名。如果你能猜出答案,我会将其标记为正确的答案。 – Naresh