class Clock extends React.Component { constructor(props) { super(props); this.state = {date: new Date()}; // may have more fields } componentDidMount() { this.timerID = setInterval( () => this.tick(), 1000 ); } componentWillUnmount() { clearInterval(this.timerID); } tick() { // this.state.date = new Date(); // changing a state directly won’t work this.setState({date: new Date()}); } render() { return (

Hello, world!

It is {this.state.date.toLocaleTimeString()}.

); }}ReactDOM.render( , document.getElementById('root'));