vue pinia

Pinia 是 Vue 的官方状态管理库,专为 Vue 3 设计,旨在简化状态管理流程。以下是其核心特点与使用方法:

1. ‌核心优势
  • 轻量高效‌:Pinia API 简洁,体积小,性能优越。
  • 组合式 API 支持‌:天然兼容 Vue 3 的组合式 API,Vue 2 也支持。
  • 模块化设计 ‌:通过 defineStore 创建独立的 Store 模块,便于管理复杂应用状态。
2. ‌核心概念
  • Store ‌:状态容器,包含 stategettersactions 三部分:
    • state:存储数据(如 count: 0)。
    • getters:计算属性(如 doubleCount)。
    • actions:同步/异步方法(如 increment)。
3. 搭建pinia环境
复制代码
npm install pinia

操作src/main.ts

复制代码
import { createApp } from 'vue'
import App from './App.vue'
/* 引入createPinia,用于创建pinia */
import { createPinia } from 'pinia'

import router from './router/index'
/* 创建pinia */
let pinia = createPinia();
let app = createApp(App)
/*  挂载pinia */
app.use(pinia)
app.use(router)
app.mount('#app')

// 定义 Store
import { defineStore } from 'pinia'
export const useCounterStore = defineStore('counter', {
  state: () => ({ count: 0 }),
  actions: { increment() { this.count++ } }
})

// 使用 Store
const counter = useCounterStore()
counter.increment()
console.log(counter.count) // 输出: 1
4. ‌模块化与持久化
  • 模块化 ‌:通过命名空间区分不同功能模块(如 user.jsshop.js)。
  • 持久化 ‌:结合 vueuseuseLocalStorage 实现数据持久化。
5. ‌与 Vuex 的对比
  • Pinia 是 Vuex 的简化版,API 更直观,推荐 Vue 3 项目使用。

总结‌:Pinia 提供了 Vue 专属的状态管理解决方案,简化了状态共享与持久化,是 Vue 3 项目中的理想选择。

相关推荐
Justin3go6 小时前
HUNT0 上线了——尽早发布,尽早发现
前端·后端·程序员
怕浪猫7 小时前
第一章 JSX 增强特性与函数组件入门
前端·javascript·react.js
铅笔侠_小龙虾7 小时前
Emmet 常用用法指南
前端·vue
钦拆大仁7 小时前
跨站脚本攻击XSS
前端·xss
前端小L7 小时前
贪心算法专题(十):维度权衡的艺术——「根据身高重建队列」
javascript·算法·贪心算法
VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue校园社团管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
Fortunate Chen8 小时前
类与对象(下)
java·javascript·jvm
ChangYan.9 小时前
直接下载源码但是执行npm run compile后报错
前端·npm·node.js
skywalk81639 小时前
在 FreeBSD 上可以使用的虚拟主机(Web‑Hosting)面板
前端·主机·webmin