setInterval en una aplicación React

Todavía soy bastante nuevo en React, pero he estado avanzando lentamente y he encontrado algo en lo que estoy atascado.

Estoy tratando de construir un componente "temporizador" en React, y para ser honesto, no sé si lo estoy haciendo bien (o de manera eficiente). En mi código a continuación, configuro el estado para devolver un objeto{ currentCount: 10 } y he estado jugando concomponentDidMount, componentWillUnmountyrender y solo puedo hacer que el estado "cuente" de 10 a 9.

Pregunta de dos partes: ¿Qué me estoy equivocando? Y, ¿hay una manera más eficiente de usar setTimeout (en lugar de usarcomponentDidMount & componentWillUnmount)?

Gracias de antemano.

import React from 'react';

var Clock = React.createClass({

  getInitialState: function() {
    return { currentCount: 10 };
  },

  componentDidMount: function() {
    this.countdown = setInterval(this.timer, 1000);
  },

  componentWillUnmount: function() {
    clearInterval(this.countdown);
  },

  timer: function() {
    this.setState({ currentCount: 10 });
  },

  render: function() {
    var displayCount = this.state.currentCount--;
    return (
      <section>
        {displayCount}
      </section>
    );
  }

});

module.exports = Clock;

Respuestas a la pregunta(3)

Su respuesta a la pregunta