mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-15 05:28:00 +00:00
17 lines
471 B
TypeScript
17 lines
471 B
TypeScript
import { ReactNode, ComponentType, isValidElement, cloneElement, createElement } from 'react';
|
|
import { isReactComponent } from './is-react';
|
|
|
|
export function createContent(
|
|
content: ReactNode | ComponentType<any>,
|
|
props?: Record<string, unknown>,
|
|
): ReactNode {
|
|
if (isValidElement(content)) {
|
|
return props ? cloneElement(content, props) : content;
|
|
}
|
|
if (isReactComponent(content)) {
|
|
return createElement(content, props);
|
|
}
|
|
|
|
return content;
|
|
}
|