如何注释TS中来自道具的组件?

时间:2019-05-13 11:41:47

标签: reactjs typescript

我正在尝试将组件传递给子组件,但TS仍然对此抱怨。

代码如下:

import React, {Component} from 'react';


interface ChildProps {
    name: string,
    compToRender: React.ComponentType
}

class Child extends Component<ChildProps> {
    render() {
        return <div>
            {this.props.name}
        </div>
    }
}

class ComponentToRender extends Component {
    render() {
        return <div>Hello</div>
    }
}


class Parent extends Component {
    render() {
        return <Child name='Child' compToRender={<ComponentToRender/>}/>
    }
}

export default Parent

现在看来,问题在于:

错误:(26,36)TS2322:类型'Element'不能分配给类型'ComponentType <{}>'。   类型“元素”不可分配给类型“ FunctionComponent <{}>”。     类型'Element'不提供签名'(props:{children ?: ReactNode;},context ?: any)的匹配:ReactElement ReactElement组件)> | null)| (新(props:任何)=> Component <...>)> |空”。

但是我真的不太了解这是怎么回事。

你能建议点什么吗?

谢谢!

0 个答案:

没有答案
相关问题