Lzh on GitHub

响应式的 SessionStorage

使用

请参考 useStorage

类型声明

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

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

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

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

// 初始值为 null 的情况,类型推断为 unknown(或手动指定)
export declare function useSessionStorage<T = unknown>(
  key: MaybeRefOrGetter<string>,
  initialValue: MaybeRefOrGetter<null>,
  options?: UseStorageOptions<T>,
): RemovableRef<T>

你提供的是 VueUse 中 useSessionStorage 函数的多个重载声明。它的作用与 useLocalStorage 类似,区别在于数据存储在 sessionStorage 中,页面关闭即失效。

参数说明:

  • key:用于在 sessionStorage 中存取数据的键(支持 refgetter 或普通字符串)。
  • initialValue:初始值(支持 refgetter 或普通值)。
  • options:可选配置(UseStorageOptions<T>,比如 serializerwriteDefaults 等)。

返回值说明:

  • RemovableRef<T>:等同于 Ref<T>,但增加了一个 .remove() 方法,可以将当前 keysessionStorage 中删除。