dora-ui
Version:
A React.js Mobile UI Library
59 lines (58 loc) • 2.1 kB
TypeScript
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Props as SpinnerProps } from '../spinner';
declare type SpinnerSize = SpinnerProps['size'];
interface Props {
spinning: boolean;
fullScreen: boolean;
spinner: React.ReactElement;
size: SpinnerSize;
tip: string;
wrapperClassName: string;
transition: boolean;
delay: number;
}
interface State {
spinning: boolean;
}
declare class Spin extends Component<Props, State> {
static propTypes: {
spinning: PropTypes.Validator<boolean>;
fullScreen: PropTypes.Requireable<boolean>;
size: PropTypes.Requireable<string>;
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
spinner: PropTypes.Requireable<PropTypes.ReactElementLike>;
tip: PropTypes.Requireable<string>;
wrapperClassName: PropTypes.Requireable<string>;
transition: PropTypes.Requireable<boolean>;
delay: PropTypes.Requireable<number>;
};
static defaultProps: {
fullScreen: boolean;
size: string;
tip: string;
wrapperClassName: string;
transition: boolean;
delay: number;
spinner: JSX.Element;
};
constructor(props: Props);
componentDidMount(): void;
/**
* antd Spin组件每次didupdate中 取消防抖updateSpinning函数的执行 随后重新创建防抖updateSpinning函数进行执行
* 未直接使用 didmount 中创建的防抖updateSpinning函数 的防抖特性 可参见antd源码3.20.5
* 此处进行优化: 利用防抖函数特性,无需重复取消创建防抖updateSpinning函数
*/
componentDidUpdate(): void;
/**
* 避免组件卸载后 spinning状态变化而setState报错
* 参考antd,相关issue https://github.com/ant-design/ant-design/pull/16081
*/
componentWillUnmount(): void;
debouncifyUpdateSpinning: (props: Props) => void;
updateSpinning: () => void;
cancelExistingSpin(): void;
getSpinElement(): JSX.Element | null;
render(): JSX.Element;
}
export default Spin;