多个获取请求

时间:2018-09-06 09:21:43

标签: reactjs api ecmascript-6 get fetch

我是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)
        });

1 个答案:

答案 0 :(得分:1)

您可以将其用于第二个请求:

const newState = {
  items: [...this.state.items, ...newItems]
}

this.setState(newState);