title: React setState inside of a function this is undefined
body: <p>I'm new to react so I'm sure I'm missing something basic. I'm getting undefined for this, and therefore cannot read property 'setState' attempting to set state within the return of a function that calls fetch, what am I doing wrong? Note I call MyAction from an onClick and the response data is fine.</p>
  
  <pre><code>var ItemComponent = React.createClass({
  
      getInitialState: function() {
          return {
              the_message: "call that API!"
          };
      },
  
      doFetch: function() {
          var obj = {
              method: 'POST',
              headers: {
                  'Accept': 'application/json',
                  'Content-Type': 'application/json'
              }
          };
          return fetch('http://localhost:1337/site/test', obj)
              .then(function(response) {
                  return response.json();
              }).then(function(data) {
                  return data;
              }).catch((error) =&gt; {
                  console.error(error);
              });
      },
  
      MyAction: function() {
          this.doFetch().then(function(response){
              this.setState({
                  the_message: response.message
              });
          })
      },
  
      render: function() {
          return (
              &lt;div&gt;
                  &lt;div&gt;{this.props.title}&lt;/div&gt;&lt;br&gt;&lt;/br&gt;
                  &lt;div&gt;{this.props.price}&lt;/div&gt;&lt;br&gt;&lt;/br&gt;
                  &lt;div onClick={this.MyAction}&gt;{this.props.qty}&lt;/div&gt;
              &lt;/div&gt;
          );
      }
  });
  </code></pre>