]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(warning): always check for component instance presence when formatting traces
authorEvan You <yyx990803@gmail.com>
Wed, 29 Apr 2020 18:41:06 +0000 (14:41 -0400)
committerEvan You <yyx990803@gmail.com>
Wed, 29 Apr 2020 18:41:22 +0000 (14:41 -0400)
packages/runtime-core/src/warning.ts

index 7b84d8144196cef980a21fdd3ff5d0839130415b..aeeefe3988d8207dc15443b4bfd43d9066760680 100644 (file)
@@ -89,8 +89,8 @@ function getComponentTrace(): ComponentTraceStack {
         recurseCount: 0
       })
     }
-    const parentInstance: ComponentInternalInstance | null = currentVNode.component!
-      .parent
+    const parentInstance: ComponentInternalInstance | null =
+      currentVNode.component && currentVNode.component.parent
     currentVNode = parentInstance && parentInstance.vnode
   }
 
@@ -108,7 +108,7 @@ function formatTrace(trace: ComponentTraceStack): any[] {
 function formatTraceEntry({ vnode, recurseCount }: TraceEntry): any[] {
   const postfix =
     recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``
-  const isRoot = vnode.component!.parent == null
+  const isRoot = vnode.component ? vnode.component.parent == null : false
   const open = ` at <${formatComponentName(vnode.type, isRoot)}`
   const close = `>` + postfix
   return vnode.props