UNPKG

@ones-design/utils

Version:

ONES Design

33 lines (32 loc) 1.19 kB
import type { ReactNode, ReactElement } from 'react'; type AnyObject = Record<any, any>; type RenderProps = undefined | AnyObject | ((originProps: AnyObject) => AnyObject | undefined); /** * 是否为有效的子元素 * @param children React 的子元素 * @return 是否为有效的子元素 */ declare function isValidChildren(children: ReactNode): boolean; /** * 可以接收 ReactNode 的拷贝方法 (React cloneElement 的增强版) * 使用场景,想使用 React.cloneElement 但是又不想传入 ReactElement 时可以使用 * @param element React 元素 * @param props 属性 * @returns 拷贝后的 ReactElement */ declare function cloneElement(element: ReactNode, props?: RenderProps): ReactElement; /** * 判断一个元素是否为 Fragment 类型 * @param element 需判断的元素 */ declare function isFragment(element: any): boolean; interface Option { keepEmpty?: boolean; } /** * 将传入的 ReactNode 节点转换为数组 * @param children 被转换的 ReactNode * @param option 自定义配置 */ declare function toArray(children: ReactNode, option?: Option): ReactElement[]; export { isFragment, isValidChildren, toArray, cloneElement };