浅析页面名与组件名相同导致的重复引用问题:[Vue warn]: Unhandled error during execution -- 【vue bug】
一、项目场景:
技术:Vue3 + TS + CompositionAPI
系统:无关
场景:在一个vue页面引用一个vue组件
二、问题描述:
1、问题现象:重复引用
首先出现警告如下: [Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/vue-next
然后疯狂重复加载组件,直至浏览器崩溃。报错如下:runtime-core.esm-bundler.js?5c40:819 Uncaught (in promise) RangeError: Maximum call stack size exceeded
三、原因分析:
最初的定位是代码问题,定时器或者一些自执行时间引起。走了弯路,万万没有想到生活给我上了一课。
其实就是引入组件起名和页面起名一致引起,造成了循环引用死循环
四、解决方案:组件名和页面名区分开来
五、反思
虽然代码不是我写的,却给我也上了一课,写代码要谨慎小心,养成好的习惯,减少犯错机会