因此,我一直将以下代码放入我的React JS组件中,而我基本上是试图将两个API调用都置于一种称为的状态,vehicles
但是以下代码却出现了错误:
componentWillMount() {
// Make a request for vehicle data
axios.all([
axios.get('/api/seat/models'),
axios.get('/api/volkswagen/models')
])
.then(axios.spread(function (seat, volkswagen) {
this.setState({ vehicles: seat.data + volkswagen.data })
}))
//.then(response => this.setState({ vehicles: response.data }))
.catch(error => console.log(error));
}
现在,我猜我无法像我一样添加两个数据源,this.setState({ vehicles: seat.data + volkswagen.data })
但是还可以怎么做呢?我只希望将来自该API请求的所有数据置于一种状态。
这是我目前收到的错误:
TypeError: Cannot read property 'setState' of null(…)
谢谢
您不能将数组“添加”在一起。使用array.concat函数(https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
)将两个数组合并为一个,然后将其设置为状态。
componentWillMount() {
// Make a request for vehicle data
axios.all([
axios.get('/api/seat/models'),
axios.get('/api/volkswagen/models')
])
.then(axios.spread(function (seat, volkswagen) {
let vehicles = seat.data.concat(volkswagen.data);
this.setState({ vehicles: vehicles })
}))
//.then(response => this.setState({ vehicles: response.data }))
.catch(error => console.log(error));
}
问题内容: 我需要链接来自Google Maps API的一些API请求,而我正在尝试使用Axios来实现。 这是第一个请求,它在componentWillMount()中 这是第二个请求: 然后,我们有第三个请求,这取决于前两个请求是否完成: 如何链接这三个电话,以便第三个电话发生在前两个电话之后? 问题答案: 首先,不确定是否要在其中执行此操作,最好将其插入并具有一些默认状态,这些状态一旦完成
发送请求成功了,并且接口返回的状态值是200,但是却报错,没写then和catch
出身背景 我将React Native中内置的应用程序连接到REST API。我通过Axios处理请求,并使用Redux存储查询结果。我有一个api连接的index.js文件,它保存了作为请求处理程序的函数,这些请求需要越来越深的授权级别。我有一个简单的函数返回访问令牌,这是由以下代码触发,当前位于应用程序的“欢迎页面”。 理想情况下,在浏览几个屏幕后,用户将进入主页并触发以下代码: 到目前为止,
是否可以在webclient上将多个请求链接在一起?例如,我希望在进行交易时能够更新买方和卖方的余额。现在它只更新买家余额: 是否有一种方法可以将两个put方法调用在一起,以便更新两个余额? 更新:此方法适用于将单声道值作为uri变量调用。
编辑:这可能是CORS的问题,我在本地主机上。。。 在Javascript中,我可以设置请求头,获取并返回如下响应: 问题: 我想学习VueJs,并想用VueJs Axios复制这个,但是我很困惑如何设置请求标题,因为我在上面的JS中。 以下是我失败的尝试: 如何像在上面的JS中那样专门设置请求头。我想学习如何在Vue/Axios中实现以下功能。 谢谢。
在我的ReactJs应用程序中,我使用Axios将文件上传为多部分/表单数据。有什么方法可以让我追踪文件上传的进度?