2017-08-17 164 views
2

我想创建一个简单的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;...'

什么是打字稿不高兴?有人可以帮忙吗?

在此先感谢!

+0

只是一个猜测 - 确保你在tsx文件中声明你的compoent。 – Amid

+0

这是一个很棒的猜测@Amid!我从ES6移植代码并忘记更改文件名。如果你能猜出答案,我会将其标记为正确的答案。 – Naresh

回答

1

它看起来像编译器不明白,你正在使用TSX语法。验证您的文件是否具有'tsx'扩展名。

相关问题