React

by Fabio Dan

HTML

<div id="app"></div>

React

class Timer extends React.Component {
	constructor(props) {
  	super(props)
    this.state = { seconds: 0 }
  }
  
  tick() {
  	this.setState((state, props) => ({
	    seconds: state.seconds + 1
    }))
	 }
  
  componentDidMount() {
		this.interval = setInterval(() => this.tick(), 1000)
  }
  
  componentWillUnmount() {
  	clearInterval(this.interval)
  }
  
  render() {
  	return <div>Seconds: { this.state.seconds }</div>
  }
}

ReactDOM.render(<Timer />, document.getElementById("app"))