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 项目中的理想选择。

相关推荐
2022.11.7始学前端13 小时前
n8n第七节 只提醒重要的待办
前端·javascript·ui·n8n
SakuraOnTheWay13 小时前
React Grab实践 | 记一次与Cursor的有趣对话
前端·cursor
阿星AI工作室13 小时前
gemini3手势互动圣诞树保姆级教程来了!附提示词
前端·人工智能
徐小夕13 小时前
知识库创业复盘:从闭源到开源,这3个教训价值百万
前端·javascript·github
xhxxx13 小时前
函数执行完就销毁?那闭包里的变量凭什么活下来!—— 深入 JS 内存模型
前端·javascript·ecmascript 6
StarkCoder13 小时前
求求你试试 DiffableDataSource!别再手算 indexPath 了(否则迟早崩)
前端
fxshy13 小时前
Cursor 前端Global Cursor Rules
前端·cursor
红彤彤13 小时前
前端接入sse(EventSource)(@fortaine/fetch-event-source)
前端
L、21813 小时前
统一日志与埋点系统:在 Flutter + OpenHarmony 混合架构中实现全链路可观测性
javascript·华为·智能手机·electron·harmonyos
VX:Fegn089513 小时前
计算机毕业设计|基于springboot + vue音乐管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计