Keep-alive中router-view绑定key为$route.path时更新代码后热更新页面变成空白

请问大家在keep-alive中的router-view中绑定key,有时候更新代码后页面会变成空白页,但是并没有报错,请问下这有可能是什么问题。QQ图片20210706172610

keep-alive 组件在设计时完全没有考虑热更新,

      const key: ?string = vnode.key == null
        ? componentOptions.Ctor.cid + (componentOptions.tag ? `::${componentOptions.tag}` : '')
        : vnode.key

keep-alive缓存组件时优先使用key, 没有key时使用cid, 热更新模块vue-hot-reload-api在执行reload操作时重新实例化组件, cid会发生变化, 而router-view绑定了key, key是不变的, 所以keep-alive仍然使用旧的组件实例, 解决办法就是自己写个keep-alive组件覆盖vue自带的
参考https://blog.csdn.net/weixin_39547883/article/details/117700147?spm=1001.2014.3001.5501

感谢!之前找了很久都没找到这个答案,和我想的原因差不多。 :heart: