业务场景:批量添加,回显每条数据的创建状态;实现过程后端新建数据接口一次只能执行一条数据,对于这种支持批量新建业务的业务接口,我第一个想到的方案是在循环中执行async函数,然后在async函数内部获取state的值并设置;问题与解决方案loopKeyword.map((keyword:string)=>{loopCPM.map((cpm:string)=>{//同步请求;(async()=>{constres=awaitaddData({.....在某个状态下始终是固定值,不会实时更新;setCraeteStatus([...craeteStatus,res.records]);*///更正为使用updater函数利用之前(previous)状态setCraeteStatus((prevState:any)=>{return[...prevState,res.records]});}})();})});如果你看了这篇文章,还记得老大有更优雅的解决方案,不妨在评论中指点一下
