Skip to content

Instantly share code, notes, and snippets.

@arackaf
Created April 10, 2017 19:19
Show Gist options
  • Select an option

  • Save arackaf/f2e776c56881f8a72a7838e8a0d6f1a8 to your computer and use it in GitHub Desktop.

Select an option

Save arackaf/f2e776c56881f8a72a7838e8a0d6f1a8 to your computer and use it in GitHub Desktop.
import {render} from 'react-dom';
import React, {Component, Children, cloneElement} from 'react';
class CurrentTime extends Component {
state = {time: ''};
componentDidMount() {
this._interval = setInterval(() => this.setState({time: this.getTime()}), 50);
}
componentWillUnmount() {
clearInterval(this._interval);
}
getTime(){
let t = new Date();
return `${t.getHours()}:${t.getMinutes()}:${t.getSeconds()}`;
}
render() {
let {children: renderFn} = this.props;
return renderFn({time: this.state.time});
}
}
render(
<div>
<CurrentTime>
{({time}) => (
<div>
<span style={{color: 'orange'}}>Time is {time}</span>
</div>
)}
</CurrentTime>
</div>, document.getElementById('home')
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment