Javascript React.js Async wait setState(),这是正确的方法吗?
如果没有async和/或prevState,我无法在设置页面的新状态后立即console.log所需的页面状态 由于我一直在做一些后端工作,我开始学习异步是如何工作的。 所以我想也许我可以使用wait before this.setState为if语句获取正确的状态,该语句必须在设置状态后立即出现Javascript React.js Async wait setState(),这是正确的方法吗?,javascript,reactjs,async-await,Javascript,Reactjs,Async Await,如果没有async和/或prevState,我无法在设置页面的新状态后立即console.log所需的页面状态 由于我一直在做一些后端工作,我开始学习异步是如何工作的。 所以我想也许我可以使用wait before this.setState为if语句获取正确的状态,该语句必须在设置状态后立即出现 changePage=async(newPage)=>{ if(this.state.page!==newPage){ 等待这个.setState({page:newPage}); console.l
changePage=async(newPage)=>{
if(this.state.page!==newPage){
等待这个.setState({page:newPage});
console.log(this.state.page);
如果(this.state.page===''){
}else if(this.state.page==''){
}
}
}
但我以前从未真正见过这种情况,也从未以这种方式使用过它,所以我想知道有没有更好的方法来做到这一点?在类组件中,
setState
接受在状态更新后运行的回调。因此,您实际上不需要使用async
或wait
,只需执行以下操作:
this.setState({page:newPage},()=>{
console.log(this.state.page);
如果(this.state.page===''){
}else if(this.state.page==''){
}
});
setState
不返回承诺。所以,只要它起作用,它就是一个比赛条件。