我正在尝试将组件传递给子组件,但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 <...>)> |空”。
但是我真的不太了解这是怎么回事。
你能建议点什么吗?
谢谢!