2015-12-13 32 views
0

我的應用程序始終在加載,當我放下調試器並將手錶添加到變量列表& res中時,我無法使用。 我不完全確定是什麼問題,或者我甚至正確調試它?ComponentWillmount Fetch返回Null?

請指教。我試圖通過將json加載到列表中來實現加載。

更新: 我只是做了控制檯日誌,看到數據

console.log(this.state.list); 




    var facemashTab = React.createClass({ 
    getInitialState: function() { 
    return { 
     list: [], 
     currentIndex: 0 
    }; 
    }, 
    componentWillMount: function() { 
    fetch('https://randomuser.me/api/?results=5') 
     .then(res => res.json()) 
     .then(res => this.setState({ list: res })); 
    }, 


    render: function() { 
    var contents; 
     if (!this.state.list.length) { 
     contents = (
      <View style={ styles.loading }> 
      <Text style={ styles.loadingText }>Loading</Text> 
      <ActivityIndicatorIOS /> 
      </View> 
     ) 
     } else { 
     contents = (
      <View style={ styles.content }> 
      <Text>Loaded</Text> 
      </View> 
     ) 
    } 
    return (
     <View style={ styles.container }> 
     <View style={ styles.header }> 
     <Text style={ styles.headerText }>XXX</Text> 
     </View> 
     <View style={ styles.content }> 
      { contents } 
     </View> 
     </View> 
    ); 
    } 
}); 

回答

1

不知道這是否是問題,但是從我的理解裏面setStatecomponentWillMount不會觸發呈現階段?你可以嘗試componentDidMount

+0

給我與componentWillMount相同的結果 – CodeGuru

+0

我實際上是從這個http://ryanclark.me/going-native-with-react/反應,只是我使用JSON而不是他們加載關localhost – CodeGuru

+0

我只是做了一個控制檯日誌,並看到數據 console.log(this.state.list); – CodeGuru