Javascript React-Typescript:无法将组件分配给元素

Javascript React-Typescript:无法将组件分配给元素,javascript,node.js,reactjs,typescript,react-native,Javascript,Node.js,Reactjs,Typescript,React Native,我需要将我的JSX组件(FC)映射到一个对象中以进行动态渲染。 这就是我到目前为止的想法: 对象接口 接口映射{ EC2:{ 成分:React.FC; 名称:字符串; 描述:字符串; }; } 导出枚举资源{ EC2=‘EC2’, S3=‘S3’, } 在同一文件中定义的映射对象: 错误消息: 类型“Element”不可分配给类型“FC”。 类型“Element”与签名不匹配 “(props:{children?:ReactNode;},context?:any):ReactElement

我需要将我的JSX组件(FC)映射到一个对象中以进行动态渲染。 这就是我到目前为止的想法:

对象接口

接口映射{
EC2:{
成分:React.FC;
名称:字符串;
描述:字符串;
};
}
导出枚举资源{
EC2=‘EC2’,
S3=‘S3’,
}
在同一文件中定义的映射对象:

错误消息:

类型“Element”不可分配给类型“FC”。
类型“Element”与签名不匹配
“(props:{children?:ReactNode;},context?:any):ReactElement | null”。

提前多谢

您需要将组件的类型更改为
JSX.Element
Element
,因为
JSX

interface Mappings {
  EC2: {
    component: JSX.Element;
    name: string;
    description: string;
  };
}

您需要将组件的类型更改为
JSX.Element
Element
,因为
JSX

interface Mappings {
  EC2: {
    component: JSX.Element;
    name: string;
    description: string;
  };
}
类型
React.FC
描述组件本身,而不是组件的实例<代码>映射希望您的对象包含
组件:EC2
而不是
组件:

您需要更改值以匹配类型,或者更改类型以匹配值。两种方式都可以。如果要保留
组件:
,则类型必须是
组件:JSX.Element
类型
React.FC
描述组件本身,而不是组件的实例<代码>映射希望您的对象包含
组件:EC2
而不是
组件:


您需要更改值以匹配类型,或者更改类型以匹配值。两种方式都可以。如果您想保留
组件:
,那么您的类型需要是
组件:JSX.Element

类型是
JSX.Element
,因此您可以用正确的类型修改
映射
接口?
类型是
JSX.Element
,所以你可以用正确的类型修改你的
映射
接口?嘿,谢谢你,我理解这个问题。嘿,谢谢你,我理解这个问题