react 配置baseURL
时间: 2023-09-15 11:22:05 浏览: 54
如果你想在 React 应用中配置 baseURL,你可以在创建 Axios 实例时设置 baseURL。具体步骤如下:
1. 首先,安装 Axios:
```
npm install axios
```
2. 然后,在你的 React 组件中创建 Axios 实例,并设置 baseURL。例如:
```
import axios from 'axios';
const instance = axios.create({
baseURL: 'http://api.example.com'
});
export default instance;
```
3. 现在,你可以在你的组件中使用这个 Axios 实例,并且所有请求的 URL 都会自动加上 baseURL。例如:
```
import axiosInstance from './axiosInstance';
axiosInstance.get('/users')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
```
这个例子中,请求的 URL 将会是 http://api.example.com/users。
相关问题
react的axios封装
React中使用axios进行网络请求的封装可以提供统一的错误处理、拦截器配置等功能。
下面是一个简单的axios封装示例:
首先,安装axios依赖:
```bash
npm install axios
```
然后,创建一个api.js文件用于封装axios请求函数:
```javascript
import axios from 'axios';
// 创建axios实例
const instance = axios.create({
baseURL: 'http://api.example.com' // 设置请求的baseURL
});
// 请求拦截器
instance.interceptors.request.use(
config => {
// 可以在这里进行请求前的处理,如添加token等
return config;
},
error => {
return Promise.reject(error);
}
);
// 响应拦截器
instance.interceptors.response.use(
response => {
// 可以在这里进行统一的成功响应处理
return response;
},
error => {
// 可以在这里进行统一的错误处理
return Promise.reject(error);
}
);
// 封装get请求
export const get = (url, params) => {
return instance.get(url, { params });
};
// 封装post请求
export const post = (url, data) => {
return instance.post(url, data);
};
// 封装其他请求方式,如put、delete等
export default instance;
```
然后,在组件中引入api.js,并使用封装好的函数进行请求:
```javascript
import React, { useEffect } from 'react';
import { get, post } from './api';
const ExampleComponent = () => {
useEffect(() => {
// 发起get请求
get('/example')
.then(response => {
// 处理成功响应
})
.catch(error => {
// 处理错误
});
// 发起post请求
post('/example', { data: 'exampleData' })
.then(response => {
// 处理成功响应
})
.catch(error => {
// 处理错误
});
}, []);
return (
// 组件内容
);
};
export default ExampleComponent;
```
这样,你就可以在React中使用封装好的axios进行网络请求,并在拦截器中实现统一的错误处理、拦截器配置等功能。请根据你的实际需求进行相应的修改和扩展。
react axios封装
在React中使用Axios进行网络请求是很常见的操作。为了让代码更加简洁和易于维护,我们可以对Axios进行封装,以便在整个应用程序中重复使用。
以下是Axios的基本封装示例:
1. 创建一个Axios实例:
```
import axios from 'axios';
const instance = axios.create({
baseURL: 'http://example.com/api',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
```
2. 封装GET请求:
```
export const get = (url, params) => {
return new Promise((resolve, reject) => {
instance.get(url, {params})
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
};
```
3. 封装POST请求:
```
export const post = (url, data) => {
return new Promise((resolve, reject) => {
instance.post(url, data)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
};
```
在上面的代码中,我们首先创建了一个Axios实例,并设置了一些默认配置,例如基本URL、超时时间和请求头。然后,我们封装了GET和POST请求,使用Promise对象进行异步操作,并通过resolve和reject函数返回数据或错误。
使用封装后的Axios进行网络请求非常简单,只需要调用get或post函数,并传入URL和参数即可,例如:
```
import {get, post} from './axios';
get('/users', {id: 1})
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});
post('/users', {name: 'John', age: 30})
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});
```
通过封装Axios,我们可以避免在应用程序中重复编写相同的代码,并使代码更加简洁和易于维护。