In react.js, is it better to store a timeout reference as an instance variable (this.timeout) or a state variable (this.state.timeout)?
React.createClass({
I suggest storing it on the instance but not in its state. Whenever state is updated (which should only be done by setState as suggested in a comment), React calls render and makes any necessary changes to the real DOM.
Because the value of timeout has no effect on the rendering of your component, it shouldn't live in state. Putting it there would cause unnecessary calls to render.