saleor-dashboard/src/components/Date/DateProvider.tsx

35 lines
646 B
TypeScript
Raw Normal View History

2019-08-09 10:26:22 +00:00
import React from "react";
2019-06-19 14:40:52 +00:00
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() }),
2019-08-14 16:21:41 +00:00
10000
2019-06-19 14:40:52 +00:00
);
}
componentWillUnmount() {
window.clearInterval(this.intervalId);
}
render() {
const { children } = this.props;
const { date } = this.state;
return <Provider value={date}>{children}</Provider>;
}
}