title: ReactNative ListView with Json Api
body: <p>I can't display json data in listview. I get json data in console.log but not in listview isLoading is always on false. 
  I dont get any errors  .catch(error => console.warn("error")).
  Result on screen is first View because this.state.isLoading is false.</p>
  
  <p>Here is a code:</p>
  
  <pre><code>import React, { Component } from 'react';
  import { AppRegistry, StyleSheet, ListView, Text, View,Image,TouchableHighlight } from 'react-native';
  
  var productArray = [];
  
  class ListViewDemo extends Component {
     constructor(props) {
      console.warn("constructor");
      super(props);
      var dataSource = new ListView.DataSource({rowHasChanged:(r1,r2) =&gt; r1.guid != r2.guid});
     this.state = {
        dataSource: dataSource.cloneWithRows(productArray),
       isLoading:true
     }
   }
  
    componentDidMount() {
      console.warn("componentDidMount");
      this.getTheData(function(json){
       productArray = json;
        console.warn(productArray);
       this.setState = ({
         datasource:this.state.dataSource.cloneWithRows(productArray),
         isLoading:false
       })
      }.bind(this));   
       console.warn("component -&gt;  " + this.state.isLoading);
    }
  
    getTheData(callback) {
      console.warn("callback");
      var url = "https://raw.githubusercontent.com/darkarmyIN/React-Native-DynamicListView/master/appledata.json";
  fetch(url)
       .then(response =&gt; response.json())
       .then(json =&gt; callback(json))
       .catch(error =&gt; console.warn("error"));
     }
  
    renderRow(rowData, sectionID, rowID) {
      console.warn("renderRow");
      return (
          &lt;TouchableHighlight underlayColor='#dddddd' style={{height:44}}&gt;
           &lt;View&gt;
           &lt;Text style={{fontSize: 20, color: '#000000'}} numberOfLines={1}&gt;{rowData.display_string}&lt;/Text&gt;
           &lt;Text style={{fontSize: 20, color: '#000000'}} numberOfLines={1}&gt;test&lt;/Text&gt;
           &lt;View style={{height: 1, backgroundColor: '#dddddd'}}/&gt;
          &lt;/View&gt;
      &lt;/TouchableHighlight&gt;
  );
  }
  
     render() {
     console.warn("render" + this.state.isLoading);
     var currentView = (this.state.isLoading) ? &lt;View style={{height: 110, backgroundColor: '#dddddd'}} /&gt; : &lt;ListView dataSource={this.state.dataSource} renderRow={this.renderRow.bind(this)} enableEmptySections={true}/&gt;
     return(
       &lt;View&gt;
         {currentView}
       &lt;/View&gt;
     );
    }
  }
  
  // App registration and rendering
  AppRegistry.registerComponent('AwesomeProject', () =&gt; ListViewDemo);
  </code></pre>