我希望在代码中使用相对路径,因此需要在baseUrl中设置axios参数。在全局Axios对象中设置它是有效的,但是在instance上不工作(它请求的方式就像没有baseUrl集一样)。我很乐意知道原因:)
提前谢谢。
import React, { Component } from 'react';
import Axios from 'axios';
Axios.defaults.baseURL = "http://localhost:3000";
let instance = Axios({
baseUrl: 'http://localhost:3000'
});
class CardViewer extends Component {
constructor(props) {
super(props);
this.state = {
cards: []
}
}
componentDidMount() {
// instance.get('/cards').then(response => {
// this.setState({
// cards: response.data
// });
// }); doesn't working
Axios({
method: 'get',
url: '/cards'
}).then(response => {
this.setState({
cards: response.data
})
});
}
render() {
let cardsElements = this.state.cards.map(card =>
<div className="card my-1 col-6 mx-auto" key={card.id}>
<div className="card-body">
<div className="card-title">{card.author}</div>
<div className="card-text">{card.text}</div>
</div>
</div>);
return <div className="container-fluid my-3">
{ cardsElements }
</div>
}
}
export default CardViewer;发布于 2020-06-20 17:31:22
以这种方式创建一个实例:
const instance = Axios.create({
baseURL: 'http://localhost:3000',
});然后任意使用它:
instance.get('/cards').then(response => {/* response processing */})发布于 2020-06-20 17:33:03
嗨,您可以尝试使用以下代码创建实例
const callWebService = (options) => {
const axiosInstance = axios.create({
baseURL: config.serverURL,
withCredentials: true,
timeout: 1000 * 10
});
return axiosInstance(options);
};https://stackoverflow.com/questions/62489256
复制相似问题