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