jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
28 lines (27 loc) • 1.08 kB
TypeScript
import React from 'react';
import type { CustomProps } from '../types';
export declare class Custom extends React.Component<CustomProps, object> {
static defaultProps: Partial<CustomProps>;
dom: any;
onUpdate: Function;
onMount: Function;
onUnmount: Function;
childElemArr: HTMLElement[];
constructor(props: CustomProps);
initOnMount(props: CustomProps): void;
initOnUpdate(props: CustomProps): void;
initOnUnmount(props: CustomProps): void;
componentDidUpdate(prevProps: CustomProps): void;
componentDidMount(): void;
componentWillUnmount(): void;
recordChildElem(insertElem: HTMLElement): void;
unmountChildElem(): void;
/**
* 渲染子元素
* 备注:现有custom组件通过props.render生成的子元素是react虚拟dom对象,需要使用ReactDOM.render渲染,不能直接插入到当前dom中。
**/
renderChild(schemaPosition: string, childSchema: any, insertElemDom: HTMLElement | string): void | null;
render(): JSX.Element;
}
export declare class CustomRenderer extends Custom {
}