vuex 第三方包實(shí)現(xiàn)數(shù)據(jù)持久化的方法
目的:
讓在vuex中管理的狀態(tài)數(shù)據(jù)同時(shí)存儲在本地。可免去自己存儲的環(huán)節(jié)。
- 在開發(fā)的過程中,像用戶信息(名字,頭像,token)需要vuex中存儲且需要本地存儲。
- 如果有別的模塊也需要持久化,也存儲在本地
1)首先:我們需要安裝一個(gè)vuex的插件vuex-persistedstate來支持vuex的狀態(tài)持久化。
npm i vuex-persistedstate
2)然后:在src/store 文件夾下新建 modules 文件,在 modules 下新建 user.js 和 cart.js
src/store/modules/user.js
// 用戶模塊
export default {
namespaced: true,
state () {
return {
// 用戶信息
profile: {
id: '',
avatar: '',
nickname: '',
account: '',
mobile: '',
token: ''
}
}
},
mutations: {
// 修改用戶信息,payload就是用戶信息對象
setUser (state, payload) {
state.profile = payload
}
}
}
3)繼續(xù):在 src/store/index.js 中導(dǎo)入 user 模塊。
import { createStore } from 'vuex'
import user from './modules/user'
export default createStore({
modules: {
user
}
})
4)最后:使用 vuex-persistedstate 插件來進(jìn)行持久化
import { createStore } from 'vuex'
+import createPersistedstate from 'vuex-persistedstate'
import user from './modules/user'
export default createStore({
modules: {
user
},
+ plugins: [
+ createPersistedstate({
+ key: 'erabbit-client-pc-store',
+ paths: ['user']
+ })
+ ]
})
注意:
- ===> 默認(rèn)是存儲在localStorage中
- ===> key是存儲數(shù)據(jù)的鍵名
- ===> paths是存儲state中的那些數(shù)據(jù),如果是模塊下具體的數(shù)據(jù)需要加上模塊名稱,如user.token
- ===> 修改state后觸發(fā)才可以看到本地存儲數(shù)據(jù)的的變化。
總結(jié):
- 基于第三方包實(shí)現(xiàn)vuex中的數(shù)據(jù)的持久化
- 觸發(fā)持久化的條件是state發(fā)生變化
到此這篇關(guān)于vuex 第三方包實(shí)現(xiàn)數(shù)據(jù)持久化的方法的文章就介紹到這了,更多相關(guān)vuex 數(shù)據(jù)持久化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
前端項(xiàng)目vue3/React如何使用pako庫解壓縮后端返回gzip數(shù)據(jù)
pako是一個(gè)流行的JS庫,用于在瀏覽器中進(jìn)行數(shù)據(jù)壓縮和解壓縮操作,它提供了對常見的壓縮算法的實(shí)現(xiàn),使開發(fā)者能夠在客戶端上輕松進(jìn)行數(shù)據(jù)壓縮和解壓縮,這篇文章主要介紹了前端項(xiàng)目vue3/React使用pako庫解壓縮后端返回gzip數(shù)據(jù),需要的朋友可以參考下2024-07-07
vue3使用axios并封裝axios請求的詳細(xì)步驟
本篇文章分步驟給大家介紹了vue3使用axios并封裝axios請求的詳細(xì)步驟,結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友參考下吧2023-06-06
Vue Router中的冗余導(dǎo)航錯(cuò)誤及解決方案
在現(xiàn)代前端開發(fā)中,單頁應(yīng)用(SPA)已經(jīng)成為主流,而 Vue.js 作為一款流行的前端框架,其官方路由庫 Vue Router 則是構(gòu)建 SPA 的核心工具之一,在使用 Vue Router 的過程中,開發(fā)者可能會遇到一些常見的錯(cuò)誤,本文將深入探討這一錯(cuò)誤的原因、影響以及解決方案2025-01-01
vue使用lottie-web實(shí)現(xiàn)web動畫效果
在web端,lottie-web庫可以解析導(dǎo)出的動畫json文件,并將其以svg或者canvas的方式將動畫繪制在我們的頁面上,這篇文章主要介紹了vue使用lottie-web實(shí)現(xiàn)web動畫,需要的朋友可以參考下2024-06-06

