vuex持久化 vuex-persistedstate

前言

代码搬自博客:https://www.jianshu.com/p/c22861ec5f21

使用

  1. 安装起步:npm i -S vuex-persistedstate
  2. 作为组件引入
import persistedState from 'vuex-persistedstate'
export default new Vuex.Store({
    // ...
    plugins: [persistedState()]
})

3.自定义存储方式
vuex-persistedstate默认使用localStorage来固化数据,一些特殊情况要如何应对呢?(如:safari的无痕浏览模式)

  • 需要使用sessionStorage的情况
plugins: [
    persistedState({ storage: window.sessionStorage })
]
  • 使用cookie的情况
import persistedState from 'vuex-persistedstate'
import * as Cookies from 'js-cookie'

export default new Vuex.Store({
  // ...
  plugins: [
    persistedState({
      storage: {
        getItem: key => Cookies.get(key),
        setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),
        removeItem: key => Cookies.remove(key)
      }
    })
  ]
})
发布了48 篇原创文章 · 获赞 14 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/s1441101265/article/details/103586779