Q:

React this.state misunderstand

In official example Timer component uses this.interval
var Timer = React.createClass({
  getInitialState: function() {
    return {secondsElapsed: 0};
  },

  interval: null,

  tick: function() {
    this.setState({secondsElapsed: this.state.secondsElapsed + 1});
  },
  componentDidMount: function() {
    this.interval = setInterval(this.tick, 1000);
  },
  componentWillUnmount: function() {
    clearInterval(this.interval);
  },
  render: function() {
    return (
      <div>Seconds Elapsed: {this.state.secondsElapsed}</div>
    );
  }
});

React.renderComponent(<Timer />, mountNode);

but why don't use this.state.interval?
Or then why not
tick: function(){
   this.secondsElapsed++;
   this.forceUpdate(); 
}

If I can use just this.myPrivateState why need this.state.myPrivateState ? 

A:

Change to state leads to rerendering the component.
You can see that the interval is cleared in componentWillUnmount lifecycle callback.
Why you would to have interval in state, if you need to clear it when the component is going to umnount (going to be removed)?
Put into state just things that should trigger rerender of component when it changes.
The forceUpdate method is there because sometimes you can know that component should be rendered again, but you are not changing the state, so you must explicitly call the forceUpdate method to tell the React it should rerender the component. 

