vuex数据持久化怎么做
# 为什么要让vuex数据持久化
在使用vuex的时候,刷新页面之后state中存储的数据会被重置,因为刷新浏览器的时候会导致整个页面重新加载,vuex的state也会全部重新加载,所以为了防止这类情况的发生,我们可以在需要的时候将vuex中的数据进行本地存储,防止页面刷新丢失vuex中的数据。
# 如何将vuex中的数据持久化
- 我们需要安装一个插件,我们需要借助这个vuex-persistedstate插件进行持久化
// 安装依赖包
npm install vuex-persistedstate --save
1
2
2
- 使用
vuex-persistedstate
插件来进行持久化
key是存储数据的键名(本地存储)
paths是state中那些需要被的数据,如果是模块下的数据,则在前面加上模块名称
plugins要的是一个一维数组不然会解析错误
import createPersistedState from 'vuex-persistedstate'
const store = new Vuex.Store({
// ...
plugins: [
createPersistedState({
key: 'stort',
paths: ['userinfo', ......] // 可以写多个
})
]
})
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- 指定需要持久化的数据
import createPersistedState from "vuex-persistedstate"
const store = new Vuex.Store({
// ...
plugins: [
createPersistedState({
storage: window.sessionStorage,
reducer(val) {
return {
assessmentData: val.assessmentData // 只储存state中的assessmentData
}
}
})
]
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15