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

相关推荐
andr_gale1 天前
02_uniapp自定义上凸效果的底部TabBar
前端·javascript·uni-app·移动端
一心只读圣贤书1 天前
AI 驱动前端测试实战:从需求文档到 Playwright 自动化用例
前端·人工智能
拖孩1 天前
用 AI 重解千年观音灵签,做了一个微信小程序,每天摇一摇,命运给你回应
前端·后端·微信小程序
難釋懷1 天前
Nginx日志
前端·网络·nginx
倾听醉梦语1 天前
React/Vite/Next.js 前端开发工具 SpotPatch:点击页面元素精准定位 JSX/TSX 源码
javascript·react·ai编程·vite·next.js·前端开发工具
Web极客码1 天前
用 Python 搭建工具调用 Agent 的调试过程
java·服务器·前端
2401_881828321 天前
简易文本处理网页工具|AI 通识课第三次作业
前端·javascript·html
Ai拆代码的曹操1 天前
Dubbo 2.7.5 的线程上下文陷阱:从版本演进看 AllChannelHandler 的设计之痛
前端·dubbo·safari
障碍的枫子1 天前
Vue组件导出&渲染
前端·javascript·vue.js
开开心心就好1 天前
视频播放器完美解码集成三款播放器切换使用
前端·人工智能·智能手机·电脑·音视频·virtualenv·pygame