Javascript 如何在React JS中使用带参数和不带参数的axios实例编写一个GET api调用
我不熟悉JS和Axios。我想了解使用Axios创建GET实例的最佳方法,Axios可以使用参数,也可以不使用参数。我已经使用axios.create({})从React开发了一个RESTAPI调用示例,如下所示,它运行良好Javascript 如何在React JS中使用带参数和不带参数的axios实例编写一个GET api调用,javascript,reactjs,axios,frontend,Javascript,Reactjs,Axios,Frontend,我不熟悉JS和Axios。我想了解使用Axios创建GET实例的最佳方法,Axios可以使用参数,也可以不使用参数。我已经使用axios.create({})从React开发了一个RESTAPI调用示例,如下所示,它运行良好 import axios from 'axios'; const instance = axios.create({ baseURL: 'example.com' }); export default { getAllData: (url) =>
import axios from 'axios';
const instance = axios.create({
baseURL: 'example.com'
});
export default {
getAllData: (url) =>
instance({
'method': 'GET',
'url': url
})
}
我的要求是创建使用和不使用参数的axios GET实例,我可以通过创建两个不同的函数来实现它,如下所示:
export default {
getAllData: (url) =>
instance({
'method': 'GET',
'url': url
}),
getUser: (url, userId) =>
instance({
'method': 'GET',
'url': url,
'params' : userId
})
}
有没有办法在React JS中使用Axios创建一个GET函数,该函数可以使用参数,也可以不使用参数?您可以执行以下操作:
getUser: (url, userId) =>
instance({
'method': 'GET',
'url': url,
...(userId && {'params' : userId})
})
如果存在
userId
,它将把{'s params':userId}
对象附加到当前对象。您不必创建两个不同的方法。如果不传递userId
参数,则该参数将为null,并且不会传递给API调用
您可以使用以下代码:
从“axios”导入axios;
//设置全局默认值
axios.defaults.baseURL='example.com';
const getData=(url,userId)=>axios(url,userId);
导出默认getData;
您可以使用userId
调用:
getData('/user',userId);
或没有:
getData('/user');
这是您可以做到的:
导出默认值{
getUser:(url,用户ID)=>
get(url{
…(userId&&{'params':userId})
})
}
axios.get('/user?ID=12345')
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})