【发布时间】:2018-12-10 17:37:54
【问题描述】:
我已经实现了这个组件来获取一些字符信息。我想知道名字,车辆和星际飞船。如果由于某种原因字符无法加载,我想显示特定的错误消息。 在下面的代码中,为了查看错误是否被捕获(确实如此),url 被破坏。
这是我的代码。
class Character extends Component {
constructor(props) {
super(props);
this.state = {
name: '',
vehicles: [],
starships: [],
}
this.handleCharacter();
}
handleCharacter(){
let vehicles = [];
let starships = [];
let name= '';
fetch('https://swapi.co/api/people/jhjh').then(results => {
if(results.ok){
return results.json();
}
throw new Error('Character fail to load');
})
.then(data => {
data.results.forEach(item => {
name = item.name;
vehicles.push(item.vehicles);
starships.push(item.starships);
});
this.setState(() => {
return{
name: name,
vehicles:vehicles,
starships:starships
}
})
})
.catch(function(error) {
console.log(error.message)
});
}
render(){
return (
<div>
//a bunch of code rendered
// Somewhere here I wand to render a div only if there is an error
</div>
);
}
}
【问题讨论】:
标签: reactjs error-handling fetch