我的应用程序始终处于加载状态,当我放下调试器并将手表添加到变量列表和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>
    );
  }
});

最佳答案

不知道这是否是问题,但是据我了解,setState中的componentWillMount不会触发渲染阶段吗?你可以尝试componentDidMount

关于javascript - ComponentWillmount获取返回Null吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34252335/

10-11 13:08