Subscribe on changes!

使用keepalive+suspense缓存asyncsetup组件时切换过快就会报错null of parentNode

avatar
May 24th 2022

Vue version

3.2.36

Link to minimal reproduction

https://github.com/lopck/vue3-test

Steps to reproduce

在这里如果等一个组件加载完再切换其他的组件不会出问题,但是如果组件还没加载完成就切换到其他的组件,多点几次就会出问题,就是快速的来回切换多个组件就会触发这个bug

What is expected?

如果组件还没加载完就切换应该是在后台继续加载,然后切换到你新的组件

What is actually happening?

在这里如果等一个组件加载完再切换其他的组件不会出问题,但是如果组件还没加载完成就切换到其他的组件,多点几次就会出问题,就是快速的来回切换多个组件就会触发这个bug

System Info

runtime-dom.esm-bundler.js?2725:35 
        
       Uncaught (in promise) TypeError: Cannot read properties of null (reading 'parentNode')
    at parentNode (runtime-dom.esm-bundler.js?2725:35:1)
    at ReactiveEffect.componentUpdateFn [as fn] (runtime-core.esm-bundler.js?d2dd:5124:1)
    at ReactiveEffect.run (reactivity.esm-bundler.js?89dc:185:1)
    at updateComponent (runtime-core.esm-bundler.js?d2dd:4983:1)
    at processComponent (runtime-core.esm-bundler.js?d2dd:4916:1)
    at patch (runtime-core.esm-bundler.js?d2dd:4504:1)
    at patchBlockChildren (runtime-core.esm-bundler.js?d2dd:4821:1)
    at patchElement (runtime-core.esm-bundler.js?d2dd:4729:1)
    at processElement (runtime-core.esm-bundler.js?d2dd:4584:1)
    at patch (runtime-core.esm-bundler.js?d2dd:4501:1)

Any additional comments?

No response

avatar
Jun 10th 2022

希望提供一个最小的复现。

avatar
Jun 14th 2022

尝试在keepalive中加入include解决问题

avatar
Sep 30th 2022

我想问一下 这样使用时并没有生效

avatar
Sep 30th 2022

我想问一下 这样使用时并没有生效

include数组需要加入组件名,而不是路由名

avatar
Jun 5th 2023

使用 Nuxt3 时遇到同样的问题。我的 script 块中有个 await useFetch 请求,当请求未完成(即:组建未加载完成),切换走,再切换回来,就会出现同样的问题。

avatar
Jun 16th 2023

对组件包一层div可以解决这个问题。

avatar
Nov 29th 2023

duplicate of #6463