saleor-dashboard/src/components/Date/DateProvider.tsx
2019-08-29 14:12:34 +02:00

34 lines
646 B
TypeScript

import React from "react";
import { Provider } from "./DateContext";
interface DateProviderState {
date: number;
}
export class DateProvider extends React.Component<{}, DateProviderState> {
static contextTypes = {};
intervalId: number;
state = {
date: Date.now()
};
componentDidMount() {
this.intervalId = window.setInterval(
() => this.setState({ date: Date.now() }),
10000
);
}
componentWillUnmount() {
window.clearInterval(this.intervalId);
}
render() {
const { children } = this.props;
const { date } = this.state;
return <Provider value={date}>{children}</Provider>;
}
}