Pinia 最新發布的 6 個插件,效率提升 300%!

2025年05月17日09:13:06 科技 1728

Pinia 最新發布的 6 個插件,效率提升 300%! - 天天要聞

Pinia 作為 Vue 官方推薦的狀態管理庫,其插件機制能有效擴展核心功能,覆蓋 數據持久化、性能優化、開發調試、類型安全 等常見需求。

一、數據持久化插件:pinia-plugin-persistedstate

痛點: 頁面刷新後狀態丟失

npm install pinia-plugin-persistedstate
// main.ts
import { createPinia } from'pinia'
import piniaPluginPersistedstate from'pinia-plugin-persistedstate'

const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)

// store 配置
exportconst useUserStore = defineStore('user', {
  state: () => ({ token: '' }),
  persist: {
    storage: sessionStorage, // 指定存儲方式
    paths: ['token'] // 選擇持久化欄位
  }
})

適用場景:

  • 保持用戶登錄狀態
  • 記住表格篩選條件
  • 保存用戶主題偏好

二、狀態重置插件:pinia-plugin-reset

痛點: 手動重置複雜狀態容易遺漏

import { createReset } from 'pinia-plugin-reset'

// 初始化
pinia.use(createReset())

// 使用示例
const store = useUserStore()
store.$reset() // 一鍵重置到初始狀態

**適用場景:

  • 用戶退出登錄時清理數據
  • 表單提交後重置
  • 測試用例的初始狀態設置

三、防抖操作插件:@pinia/plugin-debounce

顧名思義,防抖觸發 pinia 更新,減少更新頻率

import { debounce } from 'ts-debounce'
import { PiniaDebounce } from '@pinia/plugin-debounce'

// Pass the plugin to your application's pinia plugin
pinia.use(PiniaDebounce(debounce))
defineStore(
  'id',
() => {
    // ...the store

    return { someSearch }
  },
  {
    debounce: {
      // 防抖
      someSearch: 300,
    },
  }
)

四、映射操作插件:pinia-orm

通過映射關係來操作 pinia

Pinia 最新發布的 6 個插件,效率提升 300%! - 天天要聞

import { createPinia } from 'pinia'
import { createORM } from 'pinia-orm'
const pinia = createPinia().use(createORM())
// User Model

import { Model } from'pinia-orm'

exportdefaultclass User extends Model {
// entity is a required property for all models.
static entity = 'users'

// List of all fields (schema) of the post model. `this.string()` declares
// a string field type with a default value as the first argument.
// `this.uid()` declares a unique id if none provided.
static fields () {
    return {
      id: this.uid(),
      name: this.string(''),
      email: this.string('')
    }
  }
// For typescript support of the field include also the next lines
declare id: string
declare name: string
declare email: string
}

五、撤銷/重置插件:pinia-undo

pnpm add pinia pinia-undo
import { PiniaUndo } from 'pinia-undo'

const pinia = createPinia()
pinia.use(PiniaUndo)
const useCounterStore = defineStore({
  id: 'counter',
  state: () => ({
    count: 10,
  }),
  actions: {
    increment() {
      this.count++
    },
  },
})

const counterStore = useCounterStore()

// undo/redo have no effect if we're at the
// beginning/end of the stack
counterStore.undo() // { count: 10 }
counterStore.redo() // { count: 10 }

counterStore.increment() // { count: 11 }
counterStore.increment() // { count: 12 }

counterStore.undo() // { count: 11 }
counterStore.undo() // { count: 10 }
counterStore.undo() // { count: 10 }

counterStore.redo() // { count: 11 }

六、SSR 支持:@pinia/nuxt

npm install @pinia/nuxt
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@pinia/nuxt']
})

// 自動處理:  
// - 服務端數據預取  
// - 客戶端狀態同步  
// - 避免 hydration 錯誤

七、開發調試插件:vue-devtools 增強

內置支持: 通過瀏覽器插件直接查看

調試技巧:

  • 時間旅行調試(狀態回滾)
  • 直接修改 store 狀態
  • 跟蹤狀態變更來源

科技分類資訊推薦

特斯拉官宣Model 3長續航全輪驅動版28.55萬起售 - 天天要聞

特斯拉官宣Model 3長續航全輪驅動版28.55萬起售

7月1日,特斯拉官方微博宣布Model 3長續航全輪驅動版車型升級,CLTC續航升至753公里,百公里加速升至3.8秒,售價28.55萬元起。特斯拉表示,7月31日(含)前下單,還可享8000元限時保險補貼、5年0息、8000元車漆選裝金等購車優惠政策。...
央視新聞報道:全國加能站充電樁配置率達45% - 天天要聞

央視新聞報道:全國加能站充電樁配置率達45%

報名 | 掃描上圖二維碼,鎖定超級沙龍重慶站席位 產品 | 掃描上方二維碼提交需求 可高效對接 本文來源 | 中國石油石化6月28日,2025能源產業生態論壇在北京召開。論壇上發布了《中國加油(能)站發展藍皮書2024-2025》,數據顯示,當前,傳統加油站正從單一能源供給,向綜合服務生態深度轉型。《藍皮書》顯示,截至2024年底...
韋東奕,民族的脊樑,崇尚他,國家民族更有前途和希望 - 天天要聞

韋東奕,民族的脊樑,崇尚他,國家民族更有前途和希望

最近,北大韋神韋東奕又「霸屏」了。這位北京大學助理教授、數學科學學院微分方程教研室研究員,因開通個人網路賬號,兩天漲粉兩千萬。這是什麼概念?一般頭部網路主播,即便有團隊共同打造賬號,要漲粉兩千萬,沒有幾年時間也難以達成。這說明什麼?
厲害!榮耀400系列三周激活量超70萬台 - 天天要聞

厲害!榮耀400系列三周激活量超70萬台

上周行業消息顯示榮耀400系列全球激活量已經突破100萬台,還引起了行業的熱議。大家都在講這一次榮耀400系列的銷量確實牛,市場認可度確實高。不過當時給出的是全球數據,並不知道國內與海外的佔比。
YU7銷量為何沒受前段時間小米負面的影響? - 天天要聞

YU7銷量為何沒受前段時間小米負面的影響?

為什麼前段時間小米負面不斷,但是現在SU7發布之後,一樣是賣爆了呢?其實我之前就說過了,這些負面不會影響到小米的銷量。互聯網是健忘的。之前那個小米手機發生高速車禍,很多人在說小米的自駕問題。但是實際上大家要明白,真正會去買小米這個汽車的人,他們的側重點是什麼?
華為發布新一代OceanStor Dorado 3000融合全快閃記憶體存儲:最高1600塊SSD、8PiB容量 - 天天要聞

華為發布新一代OceanStor Dorado 3000融合全快閃記憶體存儲:最高1600塊SSD、8PiB容量

快科技6月30日消息,華為今日正式發布新一代OceanStor Dorado 3000融合全快閃記憶體存儲。最大支持2 TB內存、1600塊SSD,提供高達8 PiB(‌1PiB=1024TB)可用容量,單系統最大可擴展到16個控制器。具有以下三大優勢:全新融合:華為新一代OceanStor Dorado 3000採用原生塊、文件、對象並行架構,一套存儲滿足多種業