Reactjs React.createElement的键入无效

Reactjs React.createElement的键入无效,reactjs,typescript,react-typescript,Reactjs,Typescript,React Typescript,如何将React.createElement与TypeScript一起使用 从“React”导入React; 类型道具={ 标签:字符串; }; 常量三:React.FC=(道具:道具)=>{ 返回{props.label}; }; /** *三个组件需要'label'属性 *但这里是“未定义”-props参数应该是第二个参数 *这种行为会导致运行时出错 */ 常量MainButton=(prop:Props)=>React.createElement(三); 导出默认主按钮 这是我的解决

如何将React.createElement与TypeScript一起使用

从“React”导入React;
类型道具={
标签:字符串;
};
常量三:React.FC=(道具:道具)=>{
返回{props.label};
};
/**
*三个组件需要'label'属性
*但这里是“未定义”-props参数应该是第二个参数
*这种行为会导致运行时出错
*/
常量MainButton=(prop:Props)=>React.createElement(三);
导出默认主按钮

这是我的解决办法。在这里,我使用了
props
required参数,因为它们是可选的,即使组件具有属性

constcreateelement=(Comp:FC,props:T)=>React.createElement(Comp,props);
我错过什么了吗? 我知道TS不会抱怨缺少道具,因为它们是可选的。 您如何解决此类问题


我想在Github上创建一个问题,但决定先转到这里。

您需要将道具传递给子元素:

const MainButton = (prop: Props) => React.createElement(Three, props);
或:


甚至更好的是,只需使用
Three
作为默认导出。不需要创建函数来实例化元素。

您需要将道具传递给子元素:

const MainButton = (prop: Props) => React.createElement(Three, props);
或:


甚至更好的是,只需使用
Three
作为默认导出。不需要创建一个函数来实例化元素。

谢谢,没有那样想)谢谢,没有那样想
const MainButton = (prop: Props) => React.createElement(Three, {label: props.label});