injectLocal
注入局部提供的状态,配合 provideLocal 使用。
函数签名
typescript
function injectLocal<T>(
key: InjectionKey<T> | string,
defaultValue?: T
): T | undefined参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
key | InjectionKey<T> | string | 是 | 注入键 |
defaultValue | T | 否 | 默认值 |
返回值
| 类型 | 说明 |
|---|---|
T | undefined | 注入的值,未找到时返回 defaultValue 或 undefined |
工作原理
- 使用 Vue 的
inject(key, defaultValue)尝试注入 - 检查注入的值是否标记为"局部提供"
- 如果是局部提供且当前组件是提供组件的直接子组件:返回值
- 否则:返回 defaultValue 或 undefined
配合 provideLocal 实现组件级别的状态隔离。