fix(warn): fix component name inference in warning trace

This commit is contained in:
Evan You
2020-04-20 16:06:51 -04:00
parent 054ccecd58
commit 0278992f78
2 changed files with 10 additions and 12 deletions

View File

@@ -48,10 +48,7 @@ export function warn(msg: string, ...args: any[]) {
msg + args.join(''),
instance && instance.proxy,
trace
.map(
({ vnode }) =>
`at <${formatComponentName(vnode.type as Component)}>`
)
.map(({ vnode }) => `at <${formatComponentName(vnode.type)}>`)
.join('\n'),
trace
]
@@ -111,12 +108,12 @@ function formatTrace(trace: ComponentTraceStack): any[] {
function formatTraceEntry({ vnode, recurseCount }: TraceEntry): any[] {
const postfix =
recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``
const open = ` at <${formatComponentName(vnode)}`
const isRoot = vnode.component!.parent == null
const open = ` at <${formatComponentName(vnode.type, isRoot)}`
const close = `>` + postfix
const rootLabel = vnode.component!.parent == null ? `(Root)` : ``
return vnode.props
? [open, ...formatProps(vnode.props), close, rootLabel]
: [open + close, rootLabel]
? [open, ...formatProps(vnode.props), close]
: [open + close]
}
function formatProps(props: Data): any[] {