简单的Typescript / React类中的错误TS2415

时间:2017-10-25 14:42:52

标签: reactjs typescript

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;

这里有什么问题?

1 个答案:

答案 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'。