TS2415:Class' MyComponent'错误地扩展基类
我创建了以下代码段:
import * as React from "react";
export interface IMyProps {
}
export interface IMyState {
}
export class MyComponent extends React.Component<IMyProps, IMyState> {
constructor(props: IMyProps) {
super(props);
}
render() {
}
}
但TypeScript编译器给出了以下错误:
(9,14):错误TS2415:Class&#39; MyComponent&#39;错误扩展基数 class&#39;组件&#39;。财产类型&#39;渲染&#39; 是不相容的。 输入&#39;()=&gt;空隙&#39;不能分配给&#39;()=&gt;假|元素&#39 ;. 键入&#39; void&#39;不能分配给&#39; false |元素&#39;
这里有什么问题?
答案 0 :(得分:1)
我必须在render方法中添加一个return语句来编译它:
import * as React from "react";
export interface IMyProps {
}
export interface IMyState {
}
export class MyComponent extends React.Component<IMyProps, IMyState> {
constructor(props: IMyProps) {
super(props);
}
render() {
return <div/> // I had to return a valid return type here.
}
}
我认为这是因为因为在解释return语句之前不知道返回类型。 在此之前,render()方法被解释为返回'void'。