一个项目下来,和后台数据的交互实在是太多了,如果不封装一下就感觉怪怪的,而且也很不DRY.封装起来之后,会省事很多很多.
封装Fetch
// MyFetch.js
const API_URL = process.env.REACT_APP_DEV_API_URL
var methods = {
get(path) {
return new Promise((resolve, reject) => {
fetch(`${API_URL}/${path}`,{
headers: new Headers({
'my-token': "xxxxx...",
'Accept': 'application/json',
'Content-Type': 'application/json',
})
}).then(res => {
if (res.ok) {
return res.json();
} else if(res.status === 500) {
let errors = `