vuex本地持久化插件 vuex-persist

简介: 在vue项目中使用vuex本地持久化能更方便我们对数据的管理,不需要写localStorage或cookie等集合方法,统一用store来管理全局数据。直接上代码import Vue from 'vue'import Vuex from 'vuex'import VuexPersisten...

在vue项目中使用vuex本地持久化能更方便我们对数据的管理,不需要写localStorage或cookie等集合方法,统一用store来管理全局数据。

直接上代码

import Vue from 'vue'
import Vuex from 'vuex'
import VuexPersistence from 'vuex-persist'
import Cookies from 'js-cookie'
import { module as userModule, UserState } from './user'
import navModule, { NavigationState } from './navigation'
 
export interface State {
  user: UserState
  navigation: NavigationState
}
 
Vue.use(Vuex)
 
const vuexCookie = new VuexPersistence({
  restoreState: (key, storage) => Cookies.getJSON(key),
  saveState: (key, state, storage) =>
    Cookies.set(key, state, {
      expires: 3
    }),
  modules: ['user'], //only save user module
  filter: (mutation) => mutation.type == 'logIn' || mutation.type == 'logOut'
})
const vuexLocal = new VuexPersistence({
  key: 'vuexbase', // 这里可以自定义存入localStorage的键名,默认vuex
  storage: window.localStorage,
  reducer: (state) => ({ navigation: state.navigation }), //only save navigation module
  filter: (mutation) => mutation.type == 'addNavItem'
})
 
const store = new Vuex.Store({
  modules: {
    user: userModule,
    navigation: navModule
  },
  plugins: [vuexCookie.plugin, vuexLocal.plugin]
})
 
export default store

示例代码展示了 vuex-persist 基本用法,可以cookie、localStorage一起使用
官方地址

相关文章
|
12天前
|
存储 JavaScript 开发者
Pinia和Vuex的区别
Pinia和Vuex的区别
|
4月前
|
存储
(pinia-plugin-persistedstate)pinia 持久化存储
(pinia-plugin-persistedstate)pinia 持久化存储
127 1
|
3月前
|
JavaScript 开发者
Vue状态管理: 在Vuex中,什么是mutation?它们应该如何使用?
Vue状态管理: 在Vuex中,什么是mutation?它们应该如何使用?
47 4
|
存储 前端开发
react-几步搞定redux-persist-持久化存储
其实在vuex-persist持久化,用的也是这个东西 这个东西 就是持久化,其实所谓的持久化,在前端而言,一般都是指存储到 localStorage里面,因为刷新也还在嘛,不像存在其他地方刷新就没了,这里不讨论存储到本地文件 我们在react再玩一遍,看看有啥不同,找点新鲜感
968 0
react-几步搞定redux-persist-持久化存储
|
1月前
|
JavaScript 前端开发 测试技术
vuex中Actions详解
- Actions 是 Vuex 中的一个重要概念,用于处理异步操作和触发mutations。 - Actions 可以包含任意的 JavaScript 逻辑,包括异步操作(如发送 AJAX 请求)。 - Actions 通过调用 store.dispatch 方法来触发mutations。
|
9月前
|
存储 资源调度 JavaScript
Vuex详解,详细讲解一下Vuex
Vuex详解,详细讲解一下Vuex
164 0
|
4月前
|
存储 JavaScript 安全
vuex总结
vuex总结
35 0
|
8月前
vue2之vuex实现数据持久化(vuex-persistedstate)插件
vue2之vuex实现数据持久化(vuex-persistedstate)插件
254 0
|
12月前
|
存储 资源调度 JavaScript
Vue——14-vuex安装 State、Mutations以及Getters状态的的使用
vuex安装 State、Mutations以及Getters状态的的使用
84 0
|
JavaScript
5分钟上手使用vuex,vuex状态管理,vuex遇到的坑
5分钟上手使用vuex,vuex状态管理,vuex遇到的坑
169 0