Pinia 持久化存储

1,333 阅读1分钟

问题

最近新开项目的时候用到了pinia(就不介绍了)。

其中要解决pinia 持久化存储的问题,百度了一下。](url)

发现大部分人都在推荐pinia-plugin-persist。

但是,在开发到一半时发现这个插件在有些情况下,无法立即保存到浏览器缓存里面,出现了异常的bug。

于是到google搜了一下,发现了一个新的插件pinia-plugin-persistedstate,地址

pinia-plugin-persistedstate

解决

1.不多说先来安装(本人用的pnpm)

pnpm i pinia-plugin-persistedstate

2.添加pinia实例(vue3)

import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'

const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)

3.使用(更多使用方法可以去看文档)

import { defineStore } from 'pinia' 
export const useStore = defineStore('main', { state: () => { 
    return { 
    someState: 'hello pinia', 
  } 
}, 
persist: true, //true即为存储,默认存储到localStorage,someState就是存储key值
})

4.总结

换完之后解决了问题,但是pinia-plugin-persistedstate无法兼容ie11。

所以如果有同学还需要兼容ie11,也可以使用文中提到的pinia-plugin-persist,在某些存不上的情况可能需要手动存储一下。

第一次发文章,记录一下遇到的问题。

ok,踏踏开!!!