wanghongenpin / network_proxy_flutter

Open source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems
Apache License 2.0
4.91k stars 388 forks source link

Fix Mobile Navigator Error #170

Closed gentlemanxzh closed 1 month ago

gentlemanxzh commented 1 month ago

使用移动端抓包的时候,当请求列表一直在刷新的时候,选择其中一个请求,长按出现弹窗,点击重放功能,发现并没有任何反应。

https://github.com/wanghongenpin/network_proxy_flutter/assets/31216074/032922e2-be98-4afc-821e-a04aad8995ba

控制台提示以下错误: 微信截图_20240327144521 引起报错的代码为: 微信截图_20240327144536

原因:长按请求后出现弹窗,点击重放,此时会先关闭弹窗,由于列表一直在刷新,所以可能该请求的Widget已经被销毁掉了,此时使用该Widget的Context就会报错。

解决方法:通过设置应用的navigatorKey,由navigatorKey获取应用的Context,用该Context去进行路由操作就可以避免这种现象

gentlemanxzh commented 1 month ago

大佬,感觉项目里面的路由跳转可以都用这种方式去做,可以避免很多类似情况,要不明天我全部替换一下测试一下有没有问题,没问题再提个PR给你? @wanghongenpin

wanghongenpin commented 1 month ago

没问题先不用,我感觉用全局的context不太好

gentlemanxzh commented 1 month ago

没问题先不用,我感觉用全局的context不太好

OK~