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
, componentWillUnmount
yrender
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;