Tendo este código em 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')
);
O estado não deveria mudar somente após 3 segundos? Está mudando imediatamente.
Meu objetivo principal aqui é mudar o estado a cada 3 segundos (com setInterval()), mas como não estava funcionando, tentei setTimeout(), mas também não está funcionando. Alguma luz acesa? Obrigado!
foo()aqui é exatamente para executar barapós o tempo limite desejado. Ou estou completamente errado e ele executa na hora, e só retorna valor após o tempo desejado?
bar, não chamar e passar seu valor de retorno. Você esperava que o comportamento de foo(bar())mudasse, dependendo do que fooestá acontecendo? Isso seria muito estranho.
foo(bar())entãobaré executado primeiro e seu valor de retorno é passado parafoo.