我如何创建一个全局api请求函数,该函数会基于其上的页面接收一个“ url”属性,但仅返回要在页面上呈现的结果数组。
示例
第1页(通过url 1属性)-> ApiRequest.js
ApiRequest -> 返回结果,错误或加载-> 的数组。第1页:在自己的设计中对数组进行map()。
第2页(通过URL 2属性)-> ApiRequest.js
ApiRequest -> 返回结果,错误或加载-> 的数组。第2页:将数组映射到自己的设计中。
...
我已经深入到下面的代码了;但我不知道如何仅返回状态结果,加载或错误,而我可以在需要api调用的页面上使用该结果。我希望我有点清楚,因为我很难解释这种情况。
import React from 'react';
const axios = require('axios');
export default class RequestApi {
constructor (props) {
super (props)
this.state = {
results: [],
loading: null,
error: null,
totalPages: null
}
}
componentDidMount(){
this.requestAPI();
}
requestAPI = () => {
this.setState({error: null, results: []})
axios({
method: 'get',
url: process.env.REACT_APP_API_LOCALS,
responseType: 'json',
})
.then(
(response) => {
console.log(response)
this.setState({
results: response.data.results,
error: null,
totalPages: Math.ceil(response.data.count / response.data.results.length)
})
}
)
.catch(
(error) => {
this.setState({
loading: null,
error: true
})
}
);
}
render() {
return ()
}
}