<main></main>
class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = { m: 0, s: 0 };
    this.timer = setInterval(this.tick.bind(this), 1000);
  }
  
  componentWillUnmount() {
    clearInterval(this.timer);
  }
  
  tick() {
    let { m, s } = this.state;
    if (s < 60) {
      s += 1;
    } else {
      s = 0;
      m += 1;
    }
    this.setState({ m, s });
  }
  
  render() {
    const {m, s} = this.state;
    return (
      <div>
        {String(m).padStart(2, '0')}:{String(s).padStart(2, '0')}
      </div>
    );
  }
}

ReactDOM.render(<App />, document.querySelector('main'));
View Compiled
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/react/16.3.1/umd/react.development.js
  2. https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.3.1/umd/react-dom.development.js