Rarely used directly (JSX preferred).
Creates React elements (used by JSX).
function createElement<P>(
type: string | ComponentType<P>,
props?: (P & { key?: Key; ref?: Ref<any> }) | null,
...children: ReactNode[]
): ReactElement<P>;createElement('div', { className: 'container' }, 'Hello');
// JSX: <div className="container">Hello</div>Clone and modify element props.
function cloneElement<P>(
element: ReactElement<P>,
props?: Partial<P> & { key?: Key; ref?: Ref<any> },
...children: ReactNode[]
): ReactElement<P>;// Add props to children
<div>
{Children.map(children, child => cloneElement(child, { className: 'enhanced' }))}
</div>Type guard for React elements.
function isValidElement(object: any): boolean;if (isValidElement(content)) {
return content;
}
return <div>{String(content)}</div>;