bug解决方案之页面无限月读

此系列均为工作或生活中遇到的各种bug,为记录bug而生的,不希望其他人因为这些bug而纠结

页面无限刷新

问题描述

某天在登录公司的项目时,点击登录之后,发现页面无限月读(一直刷新并且报错)

报错gif

解决方法

这个bug相对来说还是比较简单的,因为页面有一个Toast,已经提示了什么原因,于是我进入vscode开始全局收索这个描述,发现报错的地方为一个封装的路由守卫信息的一个文件中的提示,如下图所示
image.png
于是第一时间并未怀疑是代码出了问题,而是以为网络问题导致的ps:因为项目需求我们整个项目组刚换办公地点,新地点暂时需要连vpn办公,当我重新开一下vpn、重置网络一系列操作后,发现还是会有这个问题,于是就开始怀疑代码问题,打开控制台发现控制台有一个报错,根据报错信息发现是因为一个名为workplace的东西引起的,并且已经告诉了我报错地点在文件名为cptList.js的第44行代码,如下图所示
image.png
有了这些报错信息就好办了,找到这个文件后发现,此处逻辑也很简单,我就不多赘述了,如下图
image.png

看到了这里,发现昨天ps:发现bug的昨天修改的文件中没有考虑到本地存储为空的情况,快要下班了,没有考虑那么多,此问题很简单,只要用可选链运算符就可以解决,加上可选链后页面也正常了。
image.png

总结反思

自我感觉此BUG是一个很脑残的BUG,尽管自己感觉很脑残,但还是将这个问题记录了下来,用来警醒自己,在编写代码时还是要全面考虑不要因为一些外界因素来影响自己。最后,在此片文章中看到了router.onError的钩子函数,此函数通常用于路由导航过程中出现错误时被调用。具体来说,如果在路由导航期间出现了未捕获的错误,例如网络连接失败或路由钩子函数中抛出了一个错误。


标题:bug解决方案之页面无限月读
作者:mcwu
地址:http://mcongblog.com/articles/2023/04/23/1682242187763.html

    评论
    0 评论
avatar

取消