Lzh on GitHub

响应式 LocalStorage

使用

请参考 useStorage

类型声明

// 用于存储字符串
export declare function useLocalStorage(
  key: MaybeRefOrGetter<string>,
  initialValue: MaybeRefOrGetter<string>,
  options?: UseStorageOptions<string>,
): RemovableRef<string>

// 用于存储布尔值
export declare function useLocalStorage(
  key: MaybeRefOrGetter<string>,
  initialValue: MaybeRefOrGetter<boolean>,
  options?: UseStorageOptions<boolean>,
): RemovableRef<boolean>

// 用于存储数字
export declare function useLocalStorage(
  key: MaybeRefOrGetter<string>,
  initialValue: MaybeRefOrGetter<number>,
  options?: UseStorageOptions<number>,
): RemovableRef<number>

// 泛型版本,用于存储任意类型,如对象、数组等
export declare function useLocalStorage<T>(
  key: MaybeRefOrGetter<string>,
  initialValue: MaybeRefOrGetter<T>,
  options?: UseStorageOptions<T>,
): RemovableRef<T>

// 用于初始值为 null 的情况,类型默认是 unknown
export declare function useLocalStorage<T = unknown>(
  key: MaybeRefOrGetter<string>,
  initialValue: MaybeRefOrGetter<null>,
  options?: UseStorageOptions<T>,
): RemovableRef<T>

这是 VueUse 中 useLocalStorage 函数的多重重载声明。它的作用是 在 Vue 中创建一个与 localStorage 同步的响应式状态。

参数说明:

  • key: 本地存储的 key(可以是 refgetter 或普通字符串)
  • initialValue: 初始值(可以是 refgetter 或普通值)
  • options: 配置项(如序列化函数、监听策略等)

返回值:

  • 返回的是一个 RemovableRef<T>,等同于 Ref<T>,并且带有 .remove() 方法,可用来删除 localStorage 中的这个 key