我正在尝试创建一个带有任何属性的简单React组件。 any
的以下语法拒绝工作(<
之前的意外令牌):
export class ValidatedInput extends React.Component<any, any> {...}
将any
替换为{}
,错误消失了(有人可以解释一下差异):
export class ValidatedInput extends React.Component<{}, {}> {...}
但是,现在当我在另一个文件中使用该组件时,它会抱怨我发送到组件的属性。例如:
<ValidatedInput
entity={book}
/>
这给了我一个错误:
TS2339:“IntrinsicAttributes&amp;”类型中不存在属性“实体”。 IntrinsicClassAttributes'&amp; Readonly&lt; {children?:ReactNode; ...'
什么是TypeScript沮丧?有人可以帮忙吗?
提前致谢!
答案 0 :(得分:1)
看起来编译器不理解您使用的是tsx语法。确认您的文件包含&#39; tsx&#39;扩展
答案 1 :(得分:0)
我之前遇到过类似的问题,首先按照@Amid 的建议验证文件类型是 .tsx。如果那不起作用。检查您是否已保存更改。就我而言,我对几个文件进行了大量更改,但没有保存我修改的所有文件,保存所有文件后错误消失了。