我在项目中有以下代码。我想知道在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
答案 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
调用之后,您无法通过合并来查看更新的状态。