Dha*_*r S 1 reactjs react-redux axios react-hooks
我有一个配置文件。我为整个应用程序设置 baseURL,并为整个 API 请求保存不记名令牌。在这里我需要添加另一个 api 。我不知道如何添加另一个 baseURL 并在我的 API 请求中使用它。在这里我分享我所做的代码。
基本 URL 文件:
import axios from 'axios';
axios.defaults.baseURL = http://localhost:3000/summary;
const setAuthToken = (token) => {
if (token) {
axios.defaults.headers.common.Authorization = `Bearer ${token}`;
} else {
delete axios.defaults.headers.common.Authorization;
}
};
export default setAuthToken;
Run Code Online (Sandbox Code Playgroud)
API 操作文件:
export const login = ({ email, password }) => async (dispatch) => {
const userData = {
username: email,
password,
};
try {
const res = await axios.post('/license-api/auth/login', userData, config);
dispatch({
type: LOGIN_SUCCESS,
payload: res.data.token,
});
} catch (error) {
dispatch({
type: LOGIN_FAIL,
});
}
};
Run Code Online (Sandbox Code Playgroud)
我需要在基本 URL 文件中添加另一个像这样的 url
axios.defaults.baseURL = http://localhost:6000/profile
Run Code Online (Sandbox Code Playgroud)
如何添加这个并在 API 操作文件中使用它。
请在这件事上给予我帮助。
提前致谢
如前所述,您可以创建两个axios 实例并根据需要使用它们:
在您的BASE URL文件中:
import axios from 'axios';
const setAuthToken = (token) => {
if (token) {
axios.defaults.headers.common.Authorization = `Bearer ${token}`;
} else {
delete axios.defaults.headers.common.Authorization;
}
};
const mainAxios = axios.create({
baseURL: 'http://localhost:3000/summary'
});
const profileAxios = axios.create({
baseURL: 'http://localhost:6000/profile'
});
export default setAuthToken;
export { mainAxios, profileAxios };
Run Code Online (Sandbox Code Playgroud)
然后在您的API ACTION文件中:
import { profileAxios } from 'path/to/baseurl';
export const login = ({ email, password }) => async (dispatch) => {
const userData = {
username: email,
password,
};
try {
const res = await profileAxios.post('/license-api/auth/login', userData, config);
dispatch({
type: LOGIN_SUCCESS,
payload: res.data.token,
});
} catch (error) {
dispatch({
type: LOGIN_FAIL,
});
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5582 次 |
最近记录: |