国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【vue】vuex持久化插件vuex-persistedstate:

這篇具有很好參考價(jià)值的文章主要介紹了【vue】vuex持久化插件vuex-persistedstate:。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


一、說(shuō)明:

Vuex是在中大型項(xiàng)目中必不可少的狀態(tài)管理組件,刷新會(huì)重新更新?tīng)顟B(tài),但是有時(shí)候我們并不希望如此。例如全局相關(guān)的,如登錄狀態(tài)、token、以及一些不常更新的狀態(tài)等,我們更希望能夠固化到本地,減少無(wú)用的接口訪問(wèn),以及更佳的用戶體驗(yàn)。
頁(yè)面刷新后,想保存頁(yè)面未保存的數(shù)據(jù)。我們總是習(xí)慣于放在瀏覽器的sessionStorage、localStorage、cookie中。但是用了vue后,vuex便可以被應(yīng)用了。

vuex優(yōu)勢(shì): 相比sessionStorage,存儲(chǔ)數(shù)據(jù)更安全,sessionStorage可以在控制臺(tái)被看到。
vuex劣勢(shì): 在F5刷新頁(yè)面后,vuex會(huì)重新更新state,所以,存儲(chǔ)的數(shù)據(jù)會(huì)丟失。(即刷新瀏覽器,vuex數(shù)據(jù)丟失)

二、手動(dòng)利用HTML5的本地存儲(chǔ):

vuex的state在localStorage或sessionStorage或其它存儲(chǔ)方式中取值 在mutations定義的方法里對(duì)vuex的狀態(tài)操作的同時(shí)對(duì)存儲(chǔ)也做對(duì)應(yīng)的操作。這樣state就會(huì)和存儲(chǔ)一起存在并且與vuex同步

問(wèn)題:最直觀的就是,手動(dòng)寫比較麻煩
【vue】vuex持久化插件vuex-persistedstate:,Vue框架,vue.js,前端,javascript

三、利用vuex-persistedstate插件

vuex可以進(jìn)行全局的狀態(tài)管理,但刷新后刷新后數(shù)據(jù)會(huì)消失,這是我們不愿意看到的。怎么解決呢,我們可以結(jié)合本地存儲(chǔ)做到數(shù)據(jù)持久化,也可以通過(guò)插件vuex-persistedstate
插件的原理其實(shí)也是結(jié)合了存儲(chǔ)方式,只是統(tǒng)一的配置就不需要手動(dòng)每次都寫存儲(chǔ)方法

【1】安裝
npm install vuex-persistedstate --save
【2】配置使用

在vuex初始化時(shí)候,作為組件引入【vue】vuex持久化插件vuex-persistedstate:,Vue框架,vue.js,前端,javascript

#在store下的index.js中
import createPersistedState from 'vuex-persistedstate'
export default new Vuex.Store({
    // ...
    plugins: [createPersistedState ()]
})
#vuex-persistedstate默認(rèn)使用localStorage來(lái)固化數(shù)據(jù)(默認(rèn)存儲(chǔ)于localStorage)
【3】存儲(chǔ)sessionStorage的情況
import createPersistedState from "vuex-persistedstate"
const store = new Vuex.Store({
  // ...
  plugins: [
    createPersistedState({
      storage: window.sessionStorage
    })
  ]
})
【4】存儲(chǔ)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)
      }
    })
  ]
})
【5】默認(rèn)持久化所有state,指定需要持久化的state,配置如下
import createPersistedState from "vuex-persistedstate"
const store = new Vuex.Store({
  // ...
  plugins: [
    createPersistedState({
      storage: window.sessionStorage,
      reducer(val) {
        return {
          // 只儲(chǔ)存state中的assessmentData
          assessmentData: val.assessmentData
        }
      }
     })
  ]
})
【6】vuex引用多個(gè)插件的寫法
#譬如:vuex提示的插件和持久化的插件一起使用,配置如下
import createPersistedState from "vuex-persistedstate"
import createLogger from 'vuex/dist/logger'

// 判斷環(huán)境 vuex提示生產(chǎn)環(huán)境中不使用
const debug = process.env.NODE_ENV !== 'production'
const createPersisted = createPersistedState({
  storage: window.sessionStorage
})

export default new Vuex.Store({
  // ...
  plugins: debug ? [createLogger(), createPersisted] : [createPersisted]
})
// plugins要是一個(gè)一維數(shù)組不然會(huì)解析錯(cuò)誤
【7】 自定義 多種存儲(chǔ)方式 – 配置

【vue】vuex持久化插件vuex-persistedstate:,Vue框架,vue.js,前端,javascript

四、API

createPersistedState([options])使用給定的選項(xiàng)創(chuàng)建插件的新實(shí)例??梢蕴峁┮韵逻x項(xiàng)來(lái)配置您的特定需求的插件:

API 說(shuō)明 默認(rèn)值
key 存儲(chǔ)持久狀態(tài)的鍵 vuex
paths 部分持續(xù)狀態(tài)的任何路徑的數(shù)組。如果沒(méi)有路徑給出,完整的狀態(tài)是持久的 []
reducer 一個(gè)函數(shù),將被調(diào)用來(lái)基于給定的路徑持久化的狀態(tài) 都包含這些值
subscriber 一個(gè)被調(diào)用來(lái)設(shè)置突變訂閱的函數(shù) store => handler => store.subscribe(handler)
storage 而不是(或與)getState和setState localStorage
getState 將被調(diào)用以重新水化先前持久狀態(tài)的函數(shù) storage
setState 將被調(diào)用來(lái)保持給定狀態(tài)的函數(shù) storage
filter 將被調(diào)用來(lái)過(guò)濾將setState最終觸發(fā)存儲(chǔ)的任何突變的函數(shù) () => true

【vue】vuex持久化插件vuex-persistedstate:,Vue框架,vue.js,前端,javascript

【vue】vuex持久化插件vuex-persistedstate:,Vue框架,vue.js,前端,javascript文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-702284.html

到了這里,關(guān)于【vue】vuex持久化插件vuex-persistedstate:的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【pinia持久化存儲(chǔ)】使用pinia和pinia-plugin-persistedstate依賴進(jìn)行數(shù)據(jù)的持久化存儲(chǔ)

    【pinia持久化存儲(chǔ)】使用pinia和pinia-plugin-persistedstate依賴進(jìn)行數(shù)據(jù)的持久化存儲(chǔ)

    使用pinia和pinia-plugin-persistedstate依賴進(jìn)行數(shù)據(jù)的持久化存儲(chǔ)。 存儲(chǔ)方式 : localStorage sessionStorage pinia-plugin-persistedstate 中文官網(wǎng) pinia 中文官網(wǎng) 安裝和使用 pinia ,請(qǐng)參考使用pinia文章。 安裝 pinia-plugin-persistedstate : 使用前先將 pinia-plugin-persistedstate添加到pinia實(shí)例上。 在添加的時(shí)

    2023年04月17日
    瀏覽(25)
  • Pinia 數(shù)據(jù)持久化儲(chǔ)存(pinia-plugin-persistedstate)

    Pinia 數(shù)據(jù)持久化儲(chǔ)存(pinia-plugin-persistedstate)

    插件官網(wǎng)地址: https://prazdevs.github.io/pinia-plugin-persistedstate/guide/config.html 這里對(duì)插件的安裝就不多贅述了,放兩張官網(wǎng)的截圖 使用命令:npm i pinia-plugin-persistedstate (1)將store的state中的全部數(shù)據(jù)進(jìn)行緩存,直接在state同級(jí)下面添加persist對(duì)象 此時(shí),默認(rèn)將數(shù)據(jù)存放在瀏覽器的

    2024年02月01日
    瀏覽(29)
  • 如何在 uniapp 里面使用 pinia 數(shù)據(jù)持久化 (pinia-plugin-persistedstate)

    想要在 uniapp 里面使用 pinia-plugin-persistedstate 會(huì)遇到的問(wèn)題就是 uniapp里面沒(méi)有瀏覽器里面的 sessionStorage localStorage 這些 api 。 我們只需要替換掉 pinia-plugin-persistedstate 默認(rèn)的儲(chǔ)存 api 就可以了。使用 createPersistedState 重新創(chuàng)建一個(gè)實(shí)例, 把里面的 storage 的參數(shù)修改為對(duì)應(yīng)的 uniapp

    2024年02月08日
    瀏覽(22)
  • uniapp中使用vuex并持久化

    目錄 文章目錄 準(zhǔn)備 一、插件實(shí)現(xiàn) 1.安裝插件 ?2.index.js配置: 3.獲取持久化數(shù)據(jù)(比如登錄頁(yè)): 4.使用state(比如個(gè)人主頁(yè)): 二、本地存儲(chǔ)實(shí)現(xiàn) 總結(jié) 根目錄下創(chuàng)建store文件夾,內(nèi)部創(chuàng)建index.js 地址:vuex-persistedstate - npm 代碼如下(示例): 插件的api說(shuō)明: key: 存儲(chǔ)持久

    2024年02月09日
    瀏覽(18)
  • Vue3狀態(tài)管理庫(kù)Pinia——自定義持久化插件

    Vue3狀態(tài)管理庫(kù)Pinia——自定義持久化插件

    個(gè)人簡(jiǎn)介 ?? 個(gè)人主頁(yè): 前端雜貨鋪 ???♂? 學(xué)習(xí)方向: 主攻前端方向,正逐漸往全干發(fā)展 ?? 個(gè)人狀態(tài): 研發(fā)工程師,現(xiàn)效力于中國(guó)工業(yè)軟件事業(yè) ?? 人生格言: 積跬步至千里,積小流成江海 ?? 推薦學(xué)習(xí):??前端面試寶典 ??Vue2 ??Vue3 ??Vue2/3項(xiàng)目實(shí)戰(zhàn) ??Node.js??

    2024年02月13日
    瀏覽(30)
  • IntelliJ IDE 插件開(kāi)發(fā) | (二)UI 界面與數(shù)據(jù)持久化

    IntelliJ IDE 插件開(kāi)發(fā) | (二)UI 界面與數(shù)據(jù)持久化

    IntelliJ IDE 插件開(kāi)發(fā) |(一)快速入門 IntelliJ IDE 插件開(kāi)發(fā) |(二)UI 界面與數(shù)據(jù)持久化 IntelliJ IDE 插件開(kāi)發(fā) |(三)消息通知與事件監(jiān)聽(tīng) IntelliJ IDE 插件開(kāi)發(fā) |(四)來(lái)查收你的 IDEA 使用報(bào)告吧 IntelliJ IDE 插件開(kāi)發(fā) |(五)VFS 與編輯器 在上一篇文章中介紹了在 IDEA 下開(kāi)發(fā)、運(yùn)行和

    2024年02月04日
    瀏覽(17)
  • Vue中如何進(jìn)行狀態(tài)持久化(LocalStorage、SessionStorage)

    Vue中如何進(jìn)行狀態(tài)持久化(LocalStorage、SessionStorage)

    在Vue應(yīng)用中,通常需要將一些狀態(tài)進(jìn)行持久化,以便在用戶關(guān)閉瀏覽器或刷新頁(yè)面后,仍能保留之前的狀態(tài)。常見(jiàn)的持久化方式包括 LocalStorage 和 SessionStorage 。本文將介紹如何使用這兩種方式來(lái)實(shí)現(xiàn)狀態(tài)的持久化。 LocalStorage 是HTML5中引入的一種持久化方式,它可以將數(shù)據(jù)存儲(chǔ)

    2024年02月09日
    瀏覽(22)
  • vue3使用pinia和pinia-plugin-persist做持久化存儲(chǔ)

    vue3使用pinia和pinia-plugin-persist做持久化存儲(chǔ)

    插件和版本 src/store/home.js(可直接復(fù)制) 參考文章1 參考2 參考3

    2024年02月13日
    瀏覽(55)
  • 從零開(kāi)始Vue3+Element Plus后臺(tái)管理系統(tǒng)(六)——狀態(tài)管理Pinia和持久化

    從零開(kāi)始Vue3+Element Plus后臺(tái)管理系統(tǒng)(六)——狀態(tài)管理Pinia和持久化

    官網(wǎng):https://pinia.vuejs.org/zh/ Pinia 是 Vue 的專屬狀態(tài)管理庫(kù),相比Vuex更好用,優(yōu)點(diǎn)不多了說(shuō)官網(wǎng)有,用起來(lái)最重要! 在應(yīng)用的根部注入創(chuàng)建的 pinia 定義store,拿用戶登錄舉個(gè)簡(jiǎn)單例子 在src目錄新建文件夾store,然后新建文件user.ts 在Vue頁(yè)面中使用Pinia 如果我們把登錄用戶的信息

    2024年02月05日
    瀏覽(50)
  • Redis兩種持久化方案RDB持久化和AOF持久化

    Redis兩種持久化方案RDB持久化和AOF持久化

    Redis持久化 Redis有兩種持久化方案: RDB持久化 AOF持久化 1.1.RDB持久化 RDB全稱Redis Database Backup file(Redis數(shù)據(jù)備份文件),也被叫做Redis數(shù)據(jù)快照。簡(jiǎn)單來(lái)說(shuō)就是把內(nèi)存中的所有數(shù)據(jù)都記錄到磁盤中。當(dāng)Redis實(shí)例故障重啟后,從磁盤讀取快照文件,恢復(fù)數(shù)據(jù)??煺瘴募Q為RDB文件

    2024年02月14日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包