lowcode-engine/packages/utils/create-content.ts
2020-03-05 21:13:48 +08:00

14 lines
441 B
TypeScript

import { ReactNode, ComponentType, isValidElement, cloneElement, createElement } from 'react';
import { isReactComponent } from './is-react';
export function createContent(content: ReactNode | ComponentType<any>, props?: object): ReactNode {
if (isValidElement(content)) {
return props ? cloneElement(content, props) : content;
}
if (isReactComponent(content)) {
return createElement(content, props);
}
return content;
}