页面 组件 1(表格 组件内 axios 请求数据) 组件 2(表格 组件内 axios 请求数据) 组件 3(表格 组件内 axios 请求数据) 组件 4(表格 组件内 axios 请求数据) 组件 5(表格 组件内 axios 请求数据) 页面里面有 5 个 组件,全部都是请求不同接口返回的数据
async getData(){
console.log("1")
var data=await getApi()
console.log("2")
this.setState({
loading:false,
list:data.data
},()=>{console.log("ok")}
)
console.log("3")
}
偶发性 某个组件 setState 没反应 不会打印 ok ,会打印 1 ,2 ,3,手动执行一次 getData() 会打印 2 次 ok ,1 次 1,2,3 之后正常。
这个问题找了我一天,f5 按烂了 因为是偶发的 很难判断是什么地方出了问题,只能不断注掉代码,但是找了一天还是一头雾水,有没有懂哥给点思路
现在摸索到的就是偶发性 setState 不执行,下次执行 setState 的时候会把上一次没执行的也执行一次(因为 callback 里的 log 会打印 2 次)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.