【发布时间】:2018-01-25 06:29:56
【问题描述】:
我正在尝试创建一个带有任何属性的简单 React 组件。以下带有any 的语法拒绝工作(< 之前的意外标记):
export class ValidatedInput extends React.Component<any, any> {...}
通过将any 替换为{},错误就消失了(有人可以解释一下区别):
export class ValidatedInput extends React.Component<{}, {}> {...}
但是,现在当我在另一个文件中使用该组件时,它会抱怨我发送到该组件的属性。例如:
<ValidatedInput
entity={book}
/>
这给了我一个错误:
TS2339:“IntrinsicAttributes & IntrinsicClassAttributes”和只读类型上不存在属性“实体”
TypeScript 对什么感到不安?有人可以帮忙吗?
提前致谢!
【问题讨论】:
-
只是一个猜测 - 确保你在 tsx 文件中声明你的组件。
-
这是一个很好的猜测@Amid!我正在从 ES6 移植代码并忘记更改文件名。如果你能把你的猜测写成答案,我会把它标记为正确答案。
标签: reactjs typescript