title: ListView data does not update after RefreshControl is invoked
body: <p>I can pull to refresh on the list and the request/response from the network API is received (in the logs), the refresh state changes however the values in the list are not updated, any help would be appreciated.  I can see no errors from the RefreshControl and I believe I am passing the data correctly, can anyone help me?</p>
  
  <pre><code>constructor(props) {
      super(props);
      const dataSource = new ListView.DataSource({rowHasChanged: (row1, row2) =&gt; row1 !== row2});
      this.state = {
          dataSource: dataSource.cloneWithRows([]),
          refreshing: false
      };
  
      this._renderRow = this._renderRow.bind(this);
      this._getCoinData = this._getCoinData.bind(this);
  }
  
  componentWillMount() {
      this._getCoinData();
  }
  
  _getCoinData() {
      return new Promise((resolve) =&gt; {
          getCryptocurrencyData()
              .then(function (result) {
                  const ds = new ListView.DataSource({rowHasChanged: (row1, row2) =&gt; row1 !== row2});
                  this.setState({
                      dataSource: ds.cloneWithRows(result),
                      jsonData: result
                  });
                  resolve();
              }.bind(this))
      });
  }
  
  
  _renderRow(data) {
      return (
          &lt;CoinCell coinName={data.name} coinPrice={data.price_gbp} coinPercentageChange={data.percent_change_24h}&gt;&lt;/CoinCell&gt;        )
  }
  
  _renderHeader() {
      return (
          &lt;Header /&gt;
      )
  }
  
  _onRefresh() {
      this.setState({refreshing: true});
      this._getCoinData()
          .then(() =&gt; {
              this.setState({refreshing: false});
          });
  }
  
  
  render() {
      return (
          &lt;View&gt;
              &lt;ListView
                  enableEmptySections
                  refreshControl={
                      &lt;RefreshControl
                          refreshing={this.state.refreshing}
                          onRefresh={this._onRefresh.bind(this)}
                      /&gt;
                  }
                  ref={'resultListView'}
                  dataSource={this.state.dataSource}
                  renderRow={this._renderRow}
                  renderSeparator={(sectionId, rowId) =&gt; &lt;View key={rowId} style={styles.separator}/&gt;}
                  renderHeader={() =&gt; this._renderHeader()}
              /&gt;
          &lt;/View&gt;
      );
  }
  </code></pre>