好用的Pinia缺少持久化插件? pinia-plugin-persist
即可轻松解决!
Install
yarn add pinia-plugin-persist
配置
- Vue2
main.ts
import Vue from 'vue'
import vueCompositionApi from '@vue/composition-api'
import { createPinia } from 'pinia'
import piniaPersist from 'pinia-plugin-persist'
import App from './App.vue'
const pinia = createPinia()
pinia.use(piniaPersist)
Vue.use(vueCompositionApi)
Vue.use(pinia)
new Vue({
pinia,
render: h => h(App),
}).$mount('#app')
- Vue3
main.ts
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPersist from 'pinia-plugin-persist'
const pinia = createPinia()
pinia.use(piniaPersist)
createApp({})
.use(pinia)
.mount('#app')
Typescript definitions tsconfig.json
{
"compilerOptions": {
"types": [
"pinia-plugin-persist"
]
},
}
使用
export const useUserStore = defineStore('storeUser', {
state () {
return {
firstName: 'S',
lastName: 'L',
accessToken: 'xxxxxxxxxxxxx',
}
},
persist: {
enabled: true,
strategies: [
{
key: 'user', //自定义 Key值
storage: localStorage, // 选择存储方式
},
],
},
})
效果图
登录后头像刷新后一直存在