devtools-next icon indicating copy to clipboard operation
devtools-next copied to clipboard

reactivity.esm-bundler.js:1024 Uncaught (in promise) RangeError: Maximum call stack size exceeded

Open zh-or opened this issue 1 year ago • 2 comments

vue version:3.5.12 pinia version:2.1.7 devtools version: 7.6.3 chrome version:130.0.6723.92 (not matter much) error log:

reactivity.esm-bundler.js:1024 Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at MutableReactiveHandler.ownKeys (reactivity.esm-bundler.js:1024:1)
    at Function.getOwnPropertySymbols (<anonymous>)
    at traverse (reactivity.esm-bundler.js:1883:1)
    at traverse (reactivity.esm-bundler.js:1881:1)
    at traverse (reactivity.esm-bundler.js:1881:1)
    at traverse (reactivity.esm-bundler.js:1881:1)
    at traverse (reactivity.esm-bundler.js:1881:1)
    at traverse (reactivity.esm-bundler.js:1881:1)
    at traverse (reactivity.esm-bundler.js:1881:1)
    at traverse (reactivity.esm-bundler.js:1881:1)

image

触发堆栈溢出的代码, 关闭devtools后则不会报错!

import {h, render} from 'vue';
import com from 'xxx';


function mount() {
    render(h(com, {}), document.createElement('div'));
}

mount();

但是这段代码单独拿出来使用又没有问题!

zh-or avatar Nov 07 '24 06:11 zh-or

方便提供一个最小可复现 Demo 吗?🙏

webfansplz avatar Nov 07 '24 11:11 webfansplz

目前项目结构是vue3+webpack5, 但是某些组件是通过render函数挂载的. 代码很多尝试了一下, 不好复现. 目前知道的两点可以解决问题

  1. 关闭devtools
  2. 注释掉render挂载相关代码

zh-or avatar Nov 08 '24 08:11 zh-or