react-on-time
Version:
Renderless timer composition
30 lines (29 loc) • 788 B
TypeScript
import * as React from 'react';
import * as PropTypes from 'prop-types';
export interface IComponentProps {
timeout: number;
onTick: (progress: number) => any;
children?: (progress: number) => React.ReactNode;
}
export interface IComponentState {
tick: number;
}
export declare class Stopwatch extends React.Component<IComponentProps, IComponentState> {
static propTypes: {
timeout: PropTypes.Validator<any>;
onTick: PropTypes.Requireable<any>;
children: PropTypes.Requireable<any>;
};
state: {
tick: number;
};
private raf;
private timeMount;
componentDidMount(): void;
componentWillUnmount(): void;
tick(): void;
stop(): void;
onTick: () => void;
getProgress(): number;
render(): {};
}