devtools-next
devtools-next copied to clipboard
reactivity.esm-bundler.js:1024 Uncaught (in promise) RangeError: Maximum call stack size exceeded
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)
触发堆栈溢出的代码, 关闭devtools后则不会报错!
import {h, render} from 'vue';
import com from 'xxx';
function mount() {
render(h(com, {}), document.createElement('div'));
}
mount();
但是这段代码单独拿出来使用又没有问题!
方便提供一个最小可复现 Demo 吗?🙏
目前项目结构是vue3+webpack5, 但是某些组件是通过
render函数挂载的. 代码很多尝试了一下, 不好复现. 目前知道的两点可以解决问题
- 关闭devtools
- 注释掉
render挂载相关代码