fix(core): typing of key in VNodeProps (#4242)

close #4240
This commit is contained in:
AlexandraCaragata 2021-08-06 17:11:26 +02:00 committed by GitHub
parent 9bee5ccea4
commit d045055b47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View File

@ -46,7 +46,7 @@ export interface KeepAliveProps {
max?: number | string
}
type CacheKey = string | number | ConcreteComponent
type CacheKey = string | number | symbol | ConcreteComponent
type Cache = Map<CacheKey, VNode>
type Keys = Set<CacheKey>

View File

@ -1873,7 +1873,7 @@ function baseCreateRenderer(
const s2 = i // next starting index
// 5.1 build key:index map for newChildren
const keyToNewIndexMap: Map<string | number, number> = new Map()
const keyToNewIndexMap: Map<string | number | symbol, number> = new Map()
for (i = s2; i <= e2; i++) {
const nextChild = (c2[i] = optimized
? cloneIfMounted(c2[i] as VNode)

View File

@ -90,7 +90,7 @@ export type VNodeHook =
// https://github.com/microsoft/TypeScript/issues/33099
export type VNodeProps = {
key?: string | number
key?: string | number | symbol
ref?: VNodeRef
// vnode hooks
@ -138,7 +138,7 @@ export interface VNode<
type: VNodeTypes
props: (VNodeProps & ExtraProps) | null
key: string | number | null
key: string | number | symbol | null
ref: VNodeNormalizedRef | null
/**
* SFC only. This is assigned on vnode creation using currentScopeId