Tenendo presente questo codice:
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')
);
Lo stato non dovrebbe cambiare solo dopo 3 secondi? Sta cambiando immediatamente.
Il mio obiettivo principale qui è cambiare lo stato ogni 3 secondi (con setInterval()
), ma poiché non funzionava, ho provato setTimeout()
, il che non funziona neanche. Qualche luce su questo? Grazie!
foo()
qui è esattamente da eseguire bar
dopo il timeout desiderato. O sono completamente sbagliato e viene eseguito immediatamente e restituisce il valore solo dopo il tempo desiderato?
bar
, non chiamarlo e passare il suo valore di ritorno. Ti aspettavi che il comportamento di foo(bar())
cambiasse, a seconda di cosa foo
sta facendo? Sarebbe davvero strano.
foo(bar())
poibar
viene eseguito per primo e il suo valore di ritorno è passato afoo
.