fastlion-amis
Version:
一种MIS页面生成工具
33 lines (32 loc) • 930 B
TypeScript
/**
* @file LazyComponent
* @description
* @author fex
*/
import React from 'react';
export interface LazyComponentProps {
component?: React.ReactType;
getComponent?: () => Promise<React.ReactType>;
placeholder?: React.ReactNode;
unMountOnHidden?: boolean;
childProps?: object;
visiblilityProps?: object;
[propName: string]: any;
}
export interface LazyComponentState {
visible: boolean;
component?: React.ReactType;
}
export default class LazyComponent extends React.Component<LazyComponentProps, LazyComponentState> {
static defaultProps: {
placeholder: JSX.Element;
unMountOnHidden: boolean;
partialVisibility: boolean;
};
mounted: boolean;
constructor(props: LazyComponentProps);
componentDidMount(): void;
componentWillUnmount(): void;
handleVisibleChange(visible: boolean): void;
render(): {};
}