useStorage
数据存储在本地缓存中指定的 key 中
基本用法
获取该key的存储
js
import { useStorage } from '@mpxjs/mpxuse-core'
const data = useStorage('key')
data.value // 存储的值
import { useStorage } from '@mpxjs/mpxuse-core'
const data = useStorage('key')
data.value // 存储的值
参数用法
存储数据
js
import { useStorage } from '@mpxjs/mpxuse-core'
const data = useStorage(
'key',
{ text: 'storage content' },
{
sync: true, // 全部使用同步方法 默认异步
serializer: {
read(raw: string): T { return raw === 'true' },
write(value: T) { return String(v) }
}, // 序列化处理
encrypt: false, // 异步可以加密处理 默认不加密
onError: () => {} // 错误处理,
shallow: false, // 是否用shallow 默认ref
}
)
// 移除掉该key的存储
data.value = null
// 更改存储
data.value = { title: 'useStorage' }
import { useStorage } from '@mpxjs/mpxuse-core'
const data = useStorage(
'key',
{ text: 'storage content' },
{
sync: true, // 全部使用同步方法 默认异步
serializer: {
read(raw: string): T { return raw === 'true' },
write(value: T) { return String(v) }
}, // 序列化处理
encrypt: false, // 异步可以加密处理 默认不加密
onError: () => {} // 错误处理,
shallow: false, // 是否用shallow 默认ref
}
)
// 移除掉该key的存储
data.value = null
// 更改存储
data.value = { title: 'useStorage' }
只想获取数据
js
import { useStorage } from '@mpxjs/mpxuse-core'
const data = useStorage(
'key'
)
console.log(data.value) // anything
data.value = 'other' // 依然可以修改
import { useStorage } from '@mpxjs/mpxuse-core'
const data = useStorage(
'key'
)
console.log(data.value) // anything
data.value = 'other' // 依然可以修改
类型声明
typescript
export interface Serializer<T> {
read(raw: string): T
write(value: T): string
}
export declare const StorageSerializers: Record<
"boolean" | "object" | "number" | "any" | "string" | "map" | "set" | "date",
Serializer<any>
>
export interface OptionsKeys<T> extends Object {
sync?: boolean
encrypt?: boolean
serializer?: Serializer<T>
shallow?: boolean
onError?: (error: unknown) => void
}
export declare function useStorage<
T extends string | number | boolean | object | null
>(key: string, value?: MaybeComputedRef<T>, options?: OptionsKeys<T>): Ref<T>
export interface Serializer<T> {
read(raw: string): T
write(value: T): string
}
export declare const StorageSerializers: Record<
"boolean" | "object" | "number" | "any" | "string" | "map" | "set" | "date",
Serializer<any>
>
export interface OptionsKeys<T> extends Object {
sync?: boolean
encrypt?: boolean
serializer?: Serializer<T>
shallow?: boolean
onError?: (error: unknown) => void
}
export declare function useStorage<
T extends string | number | boolean | object | null
>(key: string, value?: MaybeComputedRef<T>, options?: OptionsKeys<T>): Ref<T>