反应-在setState之后返回undefined

时间:2020-07-03 18:29:44

标签: reactjs

我在项目中有以下代码。我想知道在setState之后数据如何变得不确定。我可以在调试时看到所有的“项目”数据。但是在下一条语句中,它变得不确定。

   if(searchQuery) return this.http.post(backendURL + '/my/route', { searchQuery: searchQuery }, { headers: this.headers }).pipe(map(res => {
   let arr:string[] = [];
   res.json().forEach(x=>{
       arr.push(x['username']);
   });

    return arr;

   }));

我可以知道如何获取确切的requestorId

1 个答案:

答案 0 :(得分:2)

请参阅此内容,可能会有帮助:here

this.setState ({
    Title: item.Title,
    Id: item.Id,
    RequestorId:item.RequestorId,  //here i could see the data
    Created: item.Created
    }, () => {
          console.log(this.state); //here you will get all details 
});

发生这种情况是因为setState以异步方式工作。在this.setState调用之后,您无法通过合并来查看更新的状态。