我的应用程序总是正在加载,当我放下调试器并将监视器添加到变量列表& 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>
);
}
});
答案 0 :(得分:1)
不确定这是否是问题,但根据我的理解setState
componentWillMount
内部不会触发渲染阶段?你能试试componentDidMount