I created a short demo for the demonstration. The point is, I want to create React components using my own customCreate service. But I want to check the properties of the input component. When I declared the inputs in customCreate to any, everything is fine, but there is no type check by Typescript.
My condition is the ability to create different components using customCreate.
What types should I set in the customCreate function to make everything work properly with type checking? Thanks
interface IDemoObjectProps {
demoprop1: string,
demoprop2: number
};
class DemoComponent extends React.Component<IDemoObjectProps> {
render() {
return <></>
}
}
// Annotation?
const customCreate = (type: any, props: any) => {
return React.createElement(type, props);
};
// Create React element
const component1 = customCreate(DemoComponent, {demoprop1: 'demo', demoprop2: 2022});
console.log(component1);