我是React和api的新手。我试图发出2个get请求,并将2个具有新值的键分配给“ items”数组。在这里,来自第二个get请求的“ img”键保持覆盖整个对象。因此,它使第一个get请求就好像它不存在一样。我只需要在第二个键后面附加来自第一次提取的第一个键值。希望确实有道理。
fetch(url,{
method: 'GET'
})
.then((response)=> response.json())
.then((responseJson) => {
const newItems = responseJson.items.map(i => {
return{
name: i.name
};
})
const newState = Object.assign({}, this.state, {
items: newItems
});
console.log(newState);
this.setState(newState);
})
.catch((error) => {
console.log(error)
});
fetch(url2,{
method: 'GET'
})
.then((response)=> response.json())
.then((responseJson) => {
const newItems = responseJson.ebay.map(i => {
return{
img: i.picture.url[0]
};
})
const newState = Object.assign(this.state, {
items: newItems
});
console.log(newState);
this.setState(newState);
})
.catch((error) => {
console.log(error)
});
答案 0 :(得分:1)
您可以将其用于第二个请求:
const newState = {
items: [...this.state.items, ...newItems]
}
this.setState(newState);