Pinia—安装及封装

Pinia

Pinia—安装及封装

1. Pinia 介绍

Pinia 是 Vue.js 的一个状态管理库,作为 Vuex 的轻量级替代品而推出。它设计简洁、易于使用,并充分利用了 Vue 3 的 Composition API 和 TypeScript 支持,使得开发体验更加流畅。

2. 与 Vuex 的不同

Pinia 和 Vuex 的主要不同点包括:

  • 模块化管理:Pinia 更加模块化,你可以创建多个独立的 store,而不需要像 Vuex 那样需要全局注册。
  • API 简化:Pinia 的 API 更加简化,减少了样板代码,如无需手动定义 mutations 和 actions。
  • TypeScript 支持:Pinia 内置了对 TypeScript 的支持,无需额外配置,类型推断更智能。
  • Vue 3 特性:Pinia 完全依赖于 Vue 3 的 Composition API,提供了更现代化的开发方式。

3. Pinia 的使用

使用 Pinia 很简单。以下是基本的使用步骤:

  • 安装:通过 npm 或 yarn 安装 Pinia。
    npm install pinia
    
  • 创建 Store:使用 defineStore 创建一个新的 store。
    import { defineStore } from 'pinia';
    
    export const useCounterStore = defineStore('counter', {
      state: () => ({
        count: 0,
      }),
      actions: {
        increment() {
          this.count++;
        },
      },
    });
    
  • 在组件中使用:在 Vue 组件中引入并使用这个 store。
    import { useCounterStore } from '@/stores/counter';
    
    const counterStore = useCounterStore();
    counterStore.increment();
    

4. Pinia 的持久化

Pinia 支持持久化存储,你可以通过引入第三方插件如 pinia-plugin-persistedstate 来实现。

  • 安装插件

    npm install pinia-plugin-persistedstate
    
  • 配置插件
    在 store 初始化时配置插件以实现持久化:

    // src/stores/index.js
    import { createPinia } from "pinia";
    import piniaPluginPersistedstate from "pinia-plugin-persistedstate"; //引入持久化插件
    
    const stores = createPinia();
    stores.use(piniaPluginPersistedstate); //将插件添加到 pinia 实例上
    
    // 全局注册 store
    export function setupStore(app) {
      app.use(stores);
    }
    export { stores };
    
  • 导入pinia:

    import { createApp } from "vue";
    import App from "./App.vue";
    import { setupStore } from "./stores";
    
    const app = createApp(App);
    setupStore(app);
    app.mount("#app");
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值