1.0.1 • Published 2 years ago

lin-storage v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

说明

lin-storage是仅1.03k的单文件js模块,灵感来源于antfu的@vueuse/core库中的useLocalStorage,因为我在使用时发现了个问题,感兴趣的可以看看issues#1283

你可以将想要保存的数据初始化为一个变量,然后就可以通过这个变量更新和获取值并自动同步localStorage,并且在更新和获取数据时不再需要像localStorage那样关心JSON转换,api设计基本跟localStorage一致,具体见API参考

快速使用

1、安装

npm install lin-storage

2、使用案例(这里以pinia为例)

import { defineStore } from "pinia"
import { linStorage } from 'lin-storage'
export const useTestStore = defineStore('test', {
    state() {
        return {
            userData: linStorage.init('userData', {}),   //初始化一个object数据
            token: linStorage.init('token', '')     //初始化一个基本类型数据
        }
    },
    actions: {
        changeUserData() {
            //object批量更新
            this.userData.setValue({name: 'lin'})
            this.userData.value = {name: 'lin'}
            //object局部更新(数组暂不支持)
            this.userData.setItem('name','lin')
            this.userData.name = 'lin'
            //基本类型更新
            this.token.setValue('this is token')
            this.token.value = 'this is token'
            //取值
            console.log(this.userData)          //{name: 'lin'}
            console.log(this.userData.name)     //lin
            //基本类型数据通过value获取)
            console.log(this.token.value)       //this is token
            //你也可以直接使用linStorage全局操作所有值
            linStorage.token.setValue('new token')
            linStorage.clear()  //清空所有
        }
    }
})

API参考

1、属性

属性名类型说明
lengthNumber存储的数据条数
value---主要用来取基本类型数据的值;也可以设置值,但其实是调用了setValue方法,结合性能和语义化建议使用setValue

1、方法

方法名参数说明返回值
initkey, value传入key和defaultValue初始化一项数据;如果key已经存在则初始化默认值无效被监听后的Proxy实例
getItemkey获取指定值指定值
setItemkey, value设置指定值指定值
removeItemkey删除指定值指定值
clear---清空值---
setValuevalue批量更新值更新后的值
1.0.1

2 years ago

1.0.0

2 years ago