pinia-plugin-persistedstate的使用

pinia持久化存儲的使用

安裝

npm install pinia-plugin-persistedstate

?注冊

import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)export default pinia

?使用

添加persist選項

import { defineStore } from 'pinia'export const useAuthStore = defineStore('auth', {state: () => ({token: '',userInfo: null,}),actions: {// ...你的 actions},persist: true, // 啟用持久化
})

?

高級用法

1. 部分狀態持久化

typescript

復制

下載

persist: {paths: ['token', 'userInfo.name'], // 只持久化 token 和 userInfo 的 name 屬性
}

2. 自定義序列化

typescript

復制

下載

persist: {serializer: {serialize: JSON.stringify,deserialize: JSON.parse,},
}

3. 使用 sessionStorage

typescript

復制

下載

persist: {storage: sessionStorage,
}

4. 使用 Cookie

首先安裝 js-cookie:

bash

復制

下載

npm install js-cookie

然后在配置中使用:

typescript

復制

下載

import Cookies from 'js-cookie'persist: {storage: {getItem: (key) => Cookies.get(key),setItem: (key, value) => Cookies.set(key, value, { expires: 7 }),removeItem: (key) => Cookies.remove(key),},
}

全局默認配置

你可以在插件安裝時設置全局默認配置:

typescript

復制

下載

pinia.use(piniaPluginPersistedstate, {storage: sessionStorage,beforeRestore: (ctx) => {console.log(`即將恢復 ${ctx.store.$id}`)},
})

TypeScript 支持

為了獲得完整的 TypeScript 支持,你可以在?tsconfig.json?中添加:

json

復制

下載

{"compilerOptions": {"types": ["pinia-plugin-persistedstate"]}
}

注意事項

  1. 持久化大量數據可能會影響性能,建議只持久化必要的數據

  2. 敏感信息(如 token)應考慮加密存儲

  3. 不同瀏覽器對 localStorage 的大小限制不同(通常約 5MB)

  4. 在 SSR 環境下使用時需要特別處理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903620.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903620.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903620.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue:el-table-tree懶加載數據

目錄 一、出現場景二、具體使用三、修改時重新加載樹節點四、新增、刪除重新加載樹節點 一、出現場景 在項目的開發過程中,我們經常會使用到表格樹的格式,但是猶豫數據較多,使用分頁又不符合項目需求時,就需要對樹進行懶加載的操…

ChipCN IDE KF32 導入工程后,無法編譯的問題

使用ChipON IDE for KungFu32 導入已有的工程是時,發現能夠編譯,但是點擊,同時選擇硬件調試時 沒有任何響應。查看工程調試配置時,發現如下問題: 沒有看到添加有啟動配置,說明就是這里的問題了(應該是IDE的…

前端筆記-Element-Plus

結束了vue的基礎學習,現在進一步學習組件 Element-Plus部分學習目標: Element Plus1、查閱官方文檔指南2、學習常用組件的使用方法3、Table、Pagination、Form4、Input、Input Number、Switch、Select、Date Picker、Button5、Message、MessageBox、N…

C++入門小館: 模板

嘿,各位技術潮人!好久不見甚是想念。生活就像一場奇妙冒險,而編程就是那把超酷的萬能鑰匙。此刻,陽光灑在鍵盤上,靈感在指尖跳躍,讓我們拋開一切束縛,給平淡日子加點料,注入滿滿的pa…

強化學習之基于無模型的算法之基于值函數的深度強化學習算法

3、基于值函數的深度強化學習算法 1)深度Q網絡(DQN) 核心思想 DQN是一種將Q學習與深度神經網絡結合的方法,用于解決高維狀態空間的問題。 它以環境的狀態作為輸入,通過神經網絡輸出每個動作的 Q 值,智能體…

網絡規劃和設計

1.結構化綜合布線系統包括建筑物綜合布線系統PDS,智能大夏布線系統IBS和工業布線系統IDS 2.GB 50311-2016綜合布線系統工程設計規范 GB/T 50312-2016綜合布線系統工程驗收規范 3.結構化布線系統分為6個子系統: 工作區子系統;水平布線子系…

軟件設計師-錯題筆記-計算機硬件和體系

1. 解析:循環冗余校驗碼也叫CRC校驗碼,其中運算包括了模2(異或)來構造校驗位。別的三種沒有用到模2的方法。 2. 解析:如果是正數,則是首位為0,其余位全為1,這時最大數(2^(n-1))-1…

OpenCV 4.7企業級開發實戰:從圖像處理到目標檢測的全方位指南

簡介 OpenCV作為工業級計算機視覺開發的核心工具庫,其4.7版本在圖像處理、視頻分析和深度學習模型推理方面實現了顯著優化。 本文將從零開始,系統講解OpenCV 4.7的核心特性和功能更新,同時結合企業級應用場景,提供詳細代碼示例和實戰項目,幫助讀者掌握從基礎圖像處理到復…

LeetCode算法題 (除自身以外數組的乘積)Day14!!!C/C++

https://leetcode.cn/problems/product-of-array-except-self/description/ 一、題目分析 給你一個整數數組 nums,返回 數組 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴…

如何寫好Verilog狀態機

還記得之前軟件的同事說過的一句話。怎么凸顯自己的工作量,就是自己給自己寫BUG。 看過夏宇聞老師書的都知道,verilog的FSM有moore和mealy,然后有一段,二段,三段式。記得我還是學生的時候,看到這里的時候,感…

晶振頻率/穩定度/精度/溫度特性的深度解析與測量技巧

在電子設備的精密世界里,晶振如同跳動的心臟,為各類系統提供穩定的時鐘信號。晶振的頻率、穩定度、精度以及溫度特性,這些關鍵參數不僅決定了設備的性能,更在不同的應用場景中發揮著至關重要的作用。 一、頻率選擇的本質&#xff…

Kafka-可視化工具-Offset Explorer

安裝: 下載地址:Offset Explorer 安裝好后如圖: 1、下載安裝完畢,進行新增連接,啟動offsetexplorer.exe,在Add Cluster窗口Properties 選項下填寫Cluster name 和 kafka Cluster Version Cluster name (集…

LabVIEW模板之溫度監測應用

這是一個溫度監測應用程序,基于 Continuous Measurement and Logging 示例項目構建,用于讀取模擬溫度值,當溫度超出給定范圍時發出警報 。 這個。 詳細說明 運行操作:直接運行該 VI 程序。點擊 “Start” 按鈕,即可開…

后端[特殊字符][特殊字符]看前端之Row與Col

是的&#xff0c;在 Ant Design 的柵格布局系統中&#xff0c;每個 <Row> 組件確實對應頁面上的一個獨立行。以下是更詳細的解釋&#xff1a; 核心概念 組件作用類比現實場景<Row>橫向容器&#xff0c;定義一行內容類似 Excel 表格中的一行<Col>縱向分割&am…

[特殊字符] SpringCloud項目中使用OpenFeign進行微服務遠程調用詳解(含連接池與日志配置)

&#x1f4da; 目錄 為什么要用OpenFeign&#xff1f; 在cart-service中整合OpenFeign 2.1 引入依賴 2.2 啟用OpenFeign 2.3 編寫Feign客戶端 2.4 調用Feign接口 開啟連接池&#xff0c;優化Feign性能 3.1 引入OkHttp 3.2 配置啟用OkHttp連接池 3.3 驗證連接池生效 Feign最佳…

VARIAN安捷倫真空泵維修清潔保養操作SOP換油操作流程內部轉子圖文并茂內部培訓手側

VARIAN安捷倫真空泵維修清潔保養操作SOP換油操作流程內部轉子圖文并茂內部培訓手側

【android bluetooth 案例分析 03】【PTS 測試 】【PBAP/PCE/SSM/BV-10-C】

1. PBAP/PCE/SSM/BV-10-C [PCE Does not share PbapSupportedFeatures bits] 這個 PTS 測試用例 PBAP/PCE/SSM/BV-10-C 的核心目的是驗證 PBAP 客戶端&#xff08;PCE&#xff09;在與舊版服務器通信時&#xff0c;不會發送 PbapSupportedFeatures 特性位&#xff0c;以確保兼…

批量刪除OpenStack實例

在Linux終端實現批量刪除OpenStack實例&#xff0c;支持并發刪除、安全確認、重試機制、優先清理運行中實例 #!/bin/bash # # 增強版 OpenStack 刪除實例腳本 # 功能&#xff1a;支持并發刪除、安全確認、重試機制、優先清理運行中實例 # 更新&#xff1a;2025年4月30日 # ##…

# 基于 Python 和 jieba 的中文文本自動摘要工具

基于 Python 和 jieba 的中文文本自動摘要工具 在信息爆炸的時代&#xff0c;快速準確地提取文本核心內容變得至關重要。今天&#xff0c;我將介紹一個基于 Python 和 jieba 的中文文本自動摘要工具&#xff0c;幫助你高效地從長文本中提取關鍵信息。 一、背景與需求 在處理…