Skip to content

injectLocal

注入局部提供的状态,配合 provideLocal 使用。

函数签名

typescript
function injectLocal<T>(
  key: InjectionKey<T> | string,
  defaultValue?: T
): T | undefined

参数

参数名类型必填说明
keyInjectionKey<T> | string注入键
defaultValueT默认值

返回值

类型说明
T | undefined注入的值,未找到时返回 defaultValue 或 undefined

工作原理

  1. 使用 Vue 的 inject(key, defaultValue) 尝试注入
  2. 检查注入的值是否标记为"局部提供"
  3. 如果是局部提供且当前组件是提供组件的直接子组件:返回值
  4. 否则:返回 defaultValue 或 undefined

配合 provideLocal 实现组件级别的状态隔离。