Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Reactjs-如何循环使用axios链接的API?_Javascript_Reactjs_Api_Axios - Fatal编程技术网

Javascript Reactjs-如何循环使用axios链接的API?

Javascript Reactjs-如何循环使用axios链接的API?,javascript,reactjs,api,axios,Javascript,Reactjs,Api,Axios,我试图建立一些与黑客新闻API,但我有一个问题,虽然。使项目显示在屏幕上。我需要的项目我需要首先调用另一个端点。我调用了这个端点并循环通过它,这样我就可以将数据从该端点传递到我需要工作的items端点,但我只显示了一个项。我如何进一步这样做,一次获得30件物品 state={ hackernews: [] } componentDidMount(){ Axios.get('/newstories.json') .then(res => { for

我试图建立一些与黑客新闻API,但我有一个问题,虽然。使项目显示在屏幕上。我需要的项目我需要首先调用另一个端点。我调用了这个端点并循环通过它,这样我就可以将数据从该端点传递到我需要工作的items端点,但我只显示了一个项。我如何进一步这样做,一次获得30件物品

state={
    hackernews: []
  }
  componentDidMount(){
    Axios.get('/newstories.json')
    .then(res => {
      for(let i = 0; i<res.data.length; i++){
        const newsID = res.data[i];
        return Axios.get(`/item/${newsID}.json`)
      }
    })
    .then(res=>{
      const news = res.data
      this.setState({hackernews: [...this.state.hackernews, news]})
      
    })
  }
状态={
黑客新闻:[]
}
componentDidMount(){
get('/newstories.json')
。然后(res=>{
for(设i=0;i{
const news=res.data
this.setState({hackernews:[…this.state.hackernews,news]})
})
}

hackernews api链接

您可以使用
异步/等待
获取ID,然后使用
。然后
正常:

 async componentDidMount(){
   let res=await Axios.get('/newstories.json')

     for(let i = 0; i<res.data.length; i++){
        const newsID = res.data[i];
       Axios.get(`/item/${newsID}.json`)  
       .then(res1=>{
          const news = res1.data
          this.setState({hackernews: [...this.state.hackernews, news]})
      
         })
     }

}
异步组件didmount(){ 让res=wait Axios.get('/newstories.json')) for(设i=0;i{ const news=res1.data this.setState({hackernews:[…this.state.hackernews,news]}) }) } }
非常感谢。但是,有一个问题。它出现在屏幕上,但会抛出一个错误。它会继续在项目中循环,直到我尝试执行的操作抛出一个null错误。我使用了params方法来限制它,但它仍然抛出它。我会在线查找更多信息。如果有很多详细信息,您可以我再问一个问题