From 3ee7b4c7b1374c5bdc50a579b49f6bc15022b085 Mon Sep 17 00:00:00 2001 From: Evan You Date: Tue, 16 Jul 2024 18:05:44 +0800 Subject: [PATCH] fix(runtime-core): avoid recursive warning close #8074 --- packages/runtime-core/src/warning.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/runtime-core/src/warning.ts b/packages/runtime-core/src/warning.ts index d130638b6af..169cdd907ae 100644 --- a/packages/runtime-core/src/warning.ts +++ b/packages/runtime-core/src/warning.ts @@ -30,7 +30,12 @@ export function popWarningContext() { stack.pop() } +let isWarning = false + export function warn(msg: string, ...args: any[]) { + if (isWarning) return + isWarning = true + // avoid props formatting or warn handler tracking deps that might be mutated // during patch, leading to infinite recursion. pauseTracking() @@ -70,6 +75,7 @@ export function warn(msg: string, ...args: any[]) { } resetTracking() + isWarning = false } export function getComponentTrace(): ComponentTraceStack {