Skip to content

Pinia 学习指南Vue.js 的直观状态管理库

类型安全、可扩展、模块化设计

Pinia

快速开始

安装

bash
npm install pinia
bash
yarn add pinia
bash
pnpm add pinia

基本用法

javascript
// main.js
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'

const app = createApp(App)
app.use(createPinia())
app.mount('#app')
javascript
// stores/counter.js
import { defineStore } from 'pinia'

export const useCounterStore = defineStore('counter', {
  state: () => ({
    count: 0
  }),
  getters: {
    doubleCount: (state) => state.count * 2
  },
  actions: {
    increment() {
      this.count++
    }
  }
})
vue
<!-- 在组件中使用 -->
<template>
  <div>
    <p>计数: {{ counter.count }}</p>
    <p>双倍计数: {{ counter.doubleCount }}</p>
    <button @click="counter.increment()">增加</button>
  </div>
</template>

<script setup>
import { useCounterStore } from '@/stores/counter'

const counter = useCounterStore()
</script>

为什么选择 Pinia?

Pinia 是 Vue.js 的官方状态管理库,它提供了更简单、更直观的 API,同时保持了强大的功能:

  • 🎯 简单直观:API 设计简洁,学习成本低
  • 🔄 组合式 API 友好:完美支持 Vue 3 的组合式 API
  • 📱 SSR 支持:服务端渲染开箱即用
  • 🧪 易于测试:每个 store 都可以独立测试
  • 🔌 插件生态:丰富的插件生态系统

准备好开始了吗?查看我们的 快速开始指南 或了解 Pinia 的核心概念

Released under the MIT License.