尝试使用TypeScript 3.0以来提供的此功能:https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html#support-for-defaultprops-in-jsx
export interface Props {
name: string;
}
export class Greet extends React.Component<Props> {
static defaultProps = { name: 'world'};
render() {
const { name } = this.props;
return <div>Hello ${name.toUpperCase()}!</div>;
}
}
// Type-checks! No type assertions needed!
let el = <Greet />
根据上面的文档,这应该通过类型检查。这是文档中的确切代码,但是我在行let el = <Greet />
[ts]类型“ {}”不可分配给类型“只读”。属性 类型“ {}”中缺少“名称”。 [2322]
如果该功能不存在,这就是我的期望。尝试使用TypeScript 3.1.6和3.2.4。
人们成功使用了此功能吗?是否有编译器指令或需要启用的内容?
答案 0 :(得分:1)
尝试升级到@types/react
的较新版本,它可与16.4.11一起使用。