diff --git a/src/apis/inject.ts b/src/apis/inject.ts index 1175f785..a059e9a7 100644 --- a/src/apis/inject.ts +++ b/src/apis/inject.ts @@ -32,9 +32,9 @@ export function provide(key: InjectionKey | string, value: T): void { vm._provided[key as string] = value; } -export function inject(key: InjectionKey | string): T | void; +export function inject(key: InjectionKey | string): T | undefined; export function inject(key: InjectionKey | string, defaultValue: T): T; -export function inject(key: InjectionKey | string, defaultValue?: T): T | void { +export function inject(key: InjectionKey | string, defaultValue?: T): T | undefined { if (!key) { return defaultValue; } @@ -43,9 +43,10 @@ export function inject(key: InjectionKey | string, defaultValue?: T): T | const val = resolveInject(key as InjectionKey, vm); if (val !== NOT_FOUND) { return val; - } else if (defaultValue !== undefined) { + } else { + if (defaultValue === undefined && process.env.NODE_ENV !== 'production') { + warn(`Injection "${String(key)}" not found`, vm); + } return defaultValue; - } else if (process.env.NODE_ENV !== 'production') { - warn(`Injection "${String(key)}" not found`, vm); } }