title: state not updating correctly
body: <p>I have a simple code for valdiations my inputs in the state:</p>
  
  <pre><code>validateForm2: function () {
          var formIsValid = true;
          for (var i = 0; i &lt; this.state.inputs.length; i++) {
              var currentInput = this.state.inputs[i];
              var inputValue = this.state[currentInput.name];
              if (!currentInput.validate(inputValue)) {
                  formIsValid = false;
                  this.makeInvalid(currentInput.name);
              }
          }
  
          return formIsValid;
      },
  </code></pre>
  
  <p><code>makeInvalid</code> calls other method for showing error message:</p>
  
  <pre><code> makeInvalid: function (elemName) {
     ...
     this.showValidationError(inputs[i].validateMessage);
     ...
  }
  </code></pre>
  
  <p>This is a <code>showValidtionMessage</code>:</p>
  
  <pre><code>showValidationError: function (message) {
          var summary = this.state.validationSummary + message;
          this.setState({
              validationSummary: summary
          });            
      }
  </code></pre>
  
  <p>When I have two errors <code>showValidationError</code> is called twice and in the debugger I see that there are two different message come to the function, but <code>validationSummary</code> has only one message(the second). I don't know why. Also, I tried to write <code>console.log(this.state.validationSummary)</code> after <code>setState</code> and in the console I get empty string after the first call. Where is a error?</p>
  
  <p>PS. I have read documentation and there is written that <code>setState()</code> does not immediately mutate <code>this.state</code> but creates a pending state transition. May be is this the reason? if so how to rewrite my code?</p>