mirror of
https://github.com/kevinsqi/react-circular-progressbar.git
synced 2026-01-25 16:03:15 +00:00
42 lines
710 B
TypeScript
42 lines
710 B
TypeScript
import React from 'react';
|
|
|
|
type Props = {
|
|
valueStart: number;
|
|
valueEnd: number;
|
|
children: (value: number) => React.ReactNode;
|
|
};
|
|
|
|
type State = {
|
|
value: number;
|
|
};
|
|
|
|
class ProgressProvider extends React.Component<Props, State> {
|
|
timeout: number | undefined = undefined;
|
|
|
|
state = {
|
|
value: this.props.valueStart,
|
|
};
|
|
|
|
static defaultProps = {
|
|
valueStart: 0,
|
|
};
|
|
|
|
componentDidMount() {
|
|
this.timeout = window.setTimeout(() => {
|
|
this.setState({
|
|
value: this.props.valueEnd,
|
|
});
|
|
}, 0);
|
|
}
|
|
|
|
componentWillUnmount() {
|
|
window.clearTimeout(this.timeout);
|
|
}
|
|
|
|
render() {
|
|
return this.props.children(this.state.value);
|
|
}
|
|
}
|
|
|
|
export default ProgressProvider;
|