Having this code in mind:
var Component = React.createClass({ getInitialState: function () { return {position: 0}; }, componentDid
setState is being invoked immediately due to the parenthesis! Wrap it in an anonymous function, then call it:
setState
setTimeout(function() { this.setState({position: 1}) }.bind(this), 3000);