Browse Source

refactor(runtime-core): use Symbol.for for runtime Symbols

Evan You 3 years ago
parent
commit
34ad609bd7

+ 1 - 1
packages/runtime-core/src/helpers/resolveAssets.ts

@@ -26,7 +26,7 @@ export function resolveComponent(
   return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name
 }
 
-export const NULL_DYNAMIC_COMPONENT = Symbol()
+export const NULL_DYNAMIC_COMPONENT = Symbol.for('v-ndc')
 
 /**
  * @private

+ 1 - 1
packages/runtime-core/src/helpers/useSsrContext.ts

@@ -1,7 +1,7 @@
 import { inject } from '../apiInject'
 import { warn } from '../warning'
 
-export const ssrContextKey = Symbol(__DEV__ ? `ssrContext` : ``)
+export const ssrContextKey = Symbol.for('v-scx')
 
 export const useSSRContext = <T = Record<string, any>>() => {
   if (!__GLOBAL__) {

+ 4 - 4
packages/runtime-core/src/vnode.ts

@@ -46,15 +46,15 @@ import { defineLegacyVNodeProperties } from './compat/renderFn'
 import { callWithAsyncErrorHandling, ErrorCodes } from './errorHandling'
 import { ComponentPublicInstance } from './componentPublicInstance'
 
-export const Fragment = Symbol(__DEV__ ? 'Fragment' : undefined) as any as {
+export const Fragment = Symbol.for('v-fgt') as any as {
   __isFragment: true
   new (): {
     $props: VNodeProps
   }
 }
-export const Text = Symbol(__DEV__ ? 'Text' : undefined)
-export const Comment = Symbol(__DEV__ ? 'Comment' : undefined)
-export const Static = Symbol(__DEV__ ? 'Static' : undefined)
+export const Text = Symbol.for('v-txt')
+export const Comment = Symbol.for('v-cmt')
+export const Static = Symbol.for('v-stc')
 
 export type VNodeTypes =
   | string