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 bardespué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 fooesté haciendo? Eso sería realmente extraño.
foo(bar())así,barse ejecuta primero y se pasa su valor de retornofoo.