【pinia的使用】

1.pinia理解

是一个Vue状态管理工具,vue2推荐的状态管理工具是vuex
vue3推荐的状态管理工具是pinia。pinia去除了vuex中Mutations和Actions只剩下三大核心,而且相比于vuex,pinia对于typescript的支持性更好

2.基本配置和使用

在vue3项目中安装pinia

npm install pinia

先导入pinia
import { createApp } from 'vue'
import App from './App.vue'
import { createPinia } from 'pinia'
//需要注意的是从pinia中结构出来的createPinia是一个函数,挂载需要先调用执行
const app = createApp(App)
app.use(createPinia())
app.mount('#app')

2.创建js文件 ↓↓↓

import { defineStore } from "pinia";

export const useStore = defineStore({
  persist: true,
  id: "counter",
  state: () => ({
    flag: false,
  }),
  getters: {},
  actions: {
    add: () => {
      console.log(2);
    },
  },
});

3.组件使用

import { useStore } from "./stores/counter"; 组件引入
const store = useStore();
<template>
<!-- 直接用 -->
  {{ store.flag }}
</template>

3.数据持久化

插件 pinia-plugin-persist 可以辅助实现数据持久化功能。

npm i pinia-plugin-persist --save 安装

//min.js文件
import { createPinia } from 'pinia'
//刷新数据丢失问题
import piniaPluginPersist from 'pinia-plugin-persist'
const store = createPinia();
store.use(piniaPluginPersistedstate);

app.use(store);

app.use(router);

app.mount("#app");

数据默认存在 sessionStorage 里,并且会以 store 的 id 作为 key。

//自定义配置
//数据持久化
import { defineStore } from "pinia"
export const useCounterStore = defineStore({
persist: {
  enabled: true,//开启数据持久化
  strategies: [
    {
      key: 'like',//给一个要保存的名称
      storage: localStorage,//sessionStorage / localStorage 存储方式
    }
  ]
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰太狼大王灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值