iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vuex中数据持久化插件vuex-persistedstate怎么用
  • 600
分享到

vuex中数据持久化插件vuex-persistedstate怎么用

2023-06-29 18:06:03 600人浏览 泡泡鱼
摘要

小编给大家分享一下Vuex中数据持久化插件vuex-persistedstate怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据持久化vuex-persi

小编给大家分享一下Vuex中数据持久化插件vuex-persistedstate怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    数据持久化vuex-persistedstate使用

    vuex是在中大型项目中必不可少的状态管理组件,刷新会重新更新状态,但是有时候我们并不希望如此。例如全局相关的,如登录状态、token、以及一些不常更新的状态等,我们更希望能够固化到本地,减少无用的接口访问,以及更佳的用户体验。

    安装起步

    npm i vuex-persistedstate --save

    目前的环境版本:

    "vue": "^2.5.2",
    "vue-router": "^3.0.1",
    "vuex": "^3.4.0",
    "vuex-persistedstate": "^3.0.1",

    vuex已经升级到了3,看了release note没有发现太过分的升级,预计不会出现不兼容的情况,有感兴趣的小伙伴可以升级体验一下。

    配置使用

    在vuex初始化时候,作为组件引入。

    import persistedState from 'vuex-persistedstate'export default new Vuex.Store({    // ...    plugins: [persistedState()]})

    自定义存储方式

    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)      }    })  ]})

    想使用cookie同理

    默认持久化所有state

    指定需要持久化的state,配置如下

    import createPersistedState from "vuex-persistedstate"const store = new Vuex.Store({  // ...  plugins: [createPersistedState({      storage: window.sessionStorage,      reducer(val) {          return {          // 只储存state中的asseSSMentData          assessmentData: val.assessmentData        }     }  })]

    vuex引用多个插件的写法

    譬如:vuex提示的插件和持久化的插件一起使用,配置如下

    import createPersistedState from "vuex-persistedstate"import createLogger from 'vuex/dist/logger'// 判断环境 vuex提示生产环境中不使用const debug = process.env.node_ENV !== 'production'const createPersisted = createPersistedState({  storage: window.sessionStorage})export default new Vuex.Store({ // ...  plugins: debug ? [createLogger(), createPersisted] : [createPersisted]})

    plugins要是一个一维数组不然会解析错误


     

    使用vuex-persistedstate插件遇到的问题

    这是一个做持久化的插件:vuex-persistedstate

    vuex中数据持久化插件vuex-persistedstate怎么用

     我在做项目时,遇到一个问题,就是做下面这个功能,渲染数据的时候,因为这个数据好多个地方使用,所以呢,把它存到了vuex里面。vuex 是将数据存到了浏览器的内存中,刷新就没了

    vuex中数据持久化插件vuex-persistedstate怎么用

    vuex中数据持久化插件vuex-persistedstate怎么用

    这行代码是写在vuex里面的,就是说,我直接从本地去拿数据

    list: JSON.parse(window.localStorage.getItem('abc')).cateGory.list || []

    vuex中数据持久化插件vuex-persistedstate怎么用

    直接看下代码: 我一开始是这样想的,既然我vuex中有数据了,不用计算属性行不行,直接渲染,确实可以渲染,但是品牌这一项咋渲染呢,push行不通啊,那就只能把结构写死,但是页面效果就不对了,所以这个地方用计算属性,第一,动态的取到前两项,第二,可以动态的添加新的 li 结构。

    计算属性使用的场景:有数据啦,但不是我想要的格式,要加工加工

     setup () {    const brand = Reactive({      id: 'brand',      name: '品牌',      children: [{ id: 'brand-children', name: '品牌推荐' }]    })    const store = useStore()    const cateList = computed(() => {      const list = store.state.category.list.map(item => {        return {          id: item.id,          name: item.name,          children: item.children && item.children.slice(0, 2)        }      })      list.push(brand)      return list    })    return { cateList }  }

    以上是“vuex中数据持久化插件vuex-persistedstate怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

    --结束END--

    本文标题: vuex中数据持久化插件vuex-persistedstate怎么用

    本文链接: https://www.lsjlt.com/news/325980.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • vuex中数据持久化插件vuex-persistedstate怎么用
      小编给大家分享一下vuex中数据持久化插件vuex-persistedstate怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!数据持久化vuex-persi...
      99+
      2023-06-29
    • vuex中数据持久化插件vuex-persistedstate使用详解
      目录数据持久化vuex-persistedstate使用安装起步配置使用自定义存储方式想使用cookie同理使用vuex-persistedstate插件遇到的问题数据持久化vuex...
      99+
      2024-04-02
    • vuex刷新之后数据丢失,数据持久化,vuex-persistedstate问题
      目录为什么刷新之后vuex的状态就没了?常见的解决方案完美方案是利用sessionStorage/localStorage主要是针对mutations和getters如何让vuex数...
      99+
      2024-04-02
    • Vuex数据持久化怎么实现
      小编给大家分享一下Vuex数据持久化怎么实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是vuexvuex :是一个专为vue.js开发的状态管理器,采用集...
      99+
      2023-06-15
    • vuex持久化怎么实现
      本篇内容介绍了“vuex持久化怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vuex持久化vuex:刷新浏览器,vuex中的stat...
      99+
      2023-06-22
    • vuex数据持久化的原理是什么
      Vuex数据持久化的原理是将Vuex存储在本地存储(localStorage)中,以便在页面刷新或关闭后仍能保留Vuex的状态。具体...
      99+
      2023-05-14
      vuex数据持久化 vuex
    • vuex数据持久化的两种实现方案
      目录业务需求: 方案一:vuex-persistedstate方案二:vuex-persist总结 业务需求: 在基于vue开发SPA项目时,为了解决页面刷新后数据丢失的问题,我们...
      99+
      2024-04-02
    • vuex持久化插件如何解决浏览器刷新数据消失问题
      小编给大家分享一下vuex持久化插件如何解决浏览器刷新数据消失问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!插件原理vuex...
      99+
      2024-04-02
    • weex中Vuex state如何使用storage持久化
      这篇文章主要介绍weex中Vuex state如何使用storage持久化,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在weex里使用Vuex作为state管理工具,问题来了,如...
      99+
      2024-04-02
    • vuex数据持久化的实现方法有哪些
      本篇内容介绍了“vuex数据持久化的实现方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录业务需求:方案一:vuex-persis...
      99+
      2023-06-20
    • Vuex数据持久化实现的思路与代码
      什么是vuex vuex :是一个专为vue.js开发的状态管理器,采用集中式存储的所有组件状态 五个属性: state、getters、mutations、actions、mod...
      99+
      2024-04-02
    • vuex 第三方包实现数据持久化的方法
      目的: 让在vuex中管理的状态数据同时存储在本地。可免去自己存储的环节。 在开发的过程中,像用户信息(名字,头像,token)需要vuex中存储且需要本地存储。 ...
      99+
      2024-04-02
    • vuex中怎么利用commit保存数据
      vuex中怎么利用commit保存数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。vuex 单向数据流,推荐的commit 改变stat...
      99+
      2024-04-02
    • 怎么将redis中数据持久化
      Redis支持多种数据持久化方式,可以将数据持久化到磁盘以确保数据的安全性。以下是两种常用的持久化方式:1. RDB持久化(Redi...
      99+
      2023-08-30
      redis
    • Vuex(多组件数据共享的Vue插件)搭建与使用
      目录1.概念2.何时使用3.搭建Vuex环境4.Vuex使用5.getters的使用6.四个map方法的使用7.模块化+命名空间总结1.概念 在Vue中实现集中式状态(数据)管理的一...
      99+
      2022-11-13
      vuex的使用 vuex是什么如何使用 vuex入门
    • vuex 中怎么利用state监听数组变化
      这期内容当中小编将会给大家带来有关vuex 中怎么利用state监听数组变化,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。import Vue fro...
      99+
      2024-04-02
    • vuex下怎么用commit保存数据
      这篇文章主要讲解了“vuex下怎么用commit保存数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vuex下怎么用commit保存数据”吧!vuex 单向数据流,推荐的commit 改变...
      99+
      2023-07-04
    • Couchbase中怎么配置数据持久化
      在Couchbase中,可以通过配置持久化设置来保证数据在节点重启时不丢失。以下是在Couchbase中配置数据持久化的步骤: ...
      99+
      2024-04-09
      Couchbase
    • Couchbase中怎么实现数据持久化
      在Couchbase中,数据持久化可以通过以下几种方式实现: 使用持久化存储引擎:Couchbase支持使用不同的持久化存储引擎...
      99+
      2024-03-08
      Couchbase
    • vue+vuex+axio从后台怎么获取数据存入vuex实现组件之间共享数据
      这篇文章主要介绍vue+vuex+axio从后台怎么获取数据存入vuex实现组件之间共享数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在vue项目中组件间相互传值或者后台获取的数...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作