Teniendo este código en mente:
var Component = React.createClass({
getInitialState: function () {
return {position: 0};
},
componentDidMount: function () {
setTimeout(this.setState({position: 1}), 3000);
},
render: function () {
return (
<div className="component">
{this.state.position}
</div>
);
}
});
ReactDOM.render(
<Component />,
document.getElementById('main')
);
¿No se supone que el estado cambiará solo después de 3 segundos? Está cambiando de inmediato.
Mi objetivo principal aquí es cambiar el estado cada 3 segundos (con setInterval()
), pero como no estaba funcionando, lo intenté setTimeout()
, que tampoco funciona. ¿Alguna luz sobre esto? ¡Gracias!
foo()
aquí es exactamente para ejecutar bar
después del tiempo de espera deseado. ¿O estoy completamente equivocado y se ejecuta de inmediato y solo devuelve el valor después del tiempo deseado?
bar
, no llamarlo y pasar su valor devuelto. ¿Esperaba foo(bar())
que cambiara el comportamiento de , dependiendo de lo que foo
esté haciendo? Eso sería realmente extraño.
foo(bar())
así,bar
se ejecuta primero y se pasa su valor de retornofoo
.