所以我有这个Picker组件,对于这些项目,我从服务器获取数据并在状态更改时映射它.
//api.js
var api = {
getBooks() {
var url = 'http://192.168.43.14:8080/api/books/'
var headers = new Headers();
headers.append('Accept', 'application/json');
return fetch(url, headers)
.then((res) => res.json())
.catch(function(err) {
console.log('Fetch Error :-S', err);
throw Error(err);
});
}
}
//RegisterMobile.js
import api from '../utilities/api'
export default class RegisterMobile extends Component {
constructor(props) {
super(props)
this.state = {
books: [],
book: '',
mobile: '',
displayError: false,
error: 'Please provide a valid mobile number'
}
}
componentWillMount() {
api.getBooks().then((res) => {
this.setState({
books: res
})
})
}
render() {
return(
{this.state.books.map((book) => {return })}
{this.state.displayError ? {this.state.error} : null}
)
}
}
这工作正常.我得到了项目列表,当我点击Picker时,我可以选择项目.我想要做的是,如果在获取数据时出现任何错误(例如服务器关闭),我想得到该错误并将其显示为错误(这只会改变错误状态和displayError).但我不知道如果有一个错误的状态设置错误如何得到错误.