Nic*_*ren 12 javascript reactjs axios
所以我一直在我的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));
}
Run Code Online (Sandbox Code Playgroud)
现在我猜我不能像我一样添加两个数据源this.setState({ vehicles: seat.data + volkswagen.data })
但是如何做到这一点呢?我只是希望将来自该API请求的所有数据放入一个状态.
这是我收到的当前错误:
TypeError: Cannot read property 'setState' of null(…)
Run Code Online (Sandbox Code Playgroud)
谢谢
eri*_*n30 17
您不能将数组"添加"在一起.使用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));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18867 次 |
最近记录: |