ComponentWillmount Fetch返回Null?

时间:2015-12-13 14:48:14

标签: javascript reactjs react-native

我的应用程序总是正在加载,当我放下调试器并将监视器添加到变量列表& res,我无法使用。 我不确定问题是什么,或者我是否正确调试它?

请咨询。我试图通过将json加载到列表中来实现Loaded。

更新 我只是做了一个控制台日志并看到了数据

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 个答案:

答案 0 :(得分:1)

不确定这是否是问题,但根据我的理解setState componentWillMount内部不会触发渲染阶段?你能试试componentDidMount

吗?