Pinia学习

Pinia是一个轻量级的状态管理库,用于Vue应用。通过简单的安装和引入,可以方便地创建和使用store。在store中定义state、actions和getters,然后在组件中通过useMainStore进行数据的获取和更新,支持多种更新数据的方法,如直接修改、$patch和actions调用。同时,使用storeToRefs可以确保数据的响应式。
摘要由CSDN通过智能技术生成

Pinia

Pinia是一个轻量级状态管理库

安装

npm install pinia

引入

// main.js
import { createPinia } from 'pinia'
app.use(createPinia())

创建store

// src -> store -> index.js
import { defineStore } from 'pinia'
export const useMainStore = defineStore('main', {
  // main 唯一值 作用类似 id
  state: () => ({
    count: 0,
    msg: '我是一条msg信息'
  }),
  actions: {
  	increment() {
      this.count++
    }
  },
  getters: {
    // this -> state
    countToString: state => String(state.count)
  }
})

使用

import { useMainStore } from '@/store/index'
setup(){
  const mainStore = useMainStore()
  // 方式一
  // mainStore.count++
  // 方式二 适用于多数据改变
  /*
    mainStore.$patch({
      count: mainStore.count + 1,
      msg: '信息+1'
    })
  */
  // 方式三
  /*
    mainStore.$patch(state => {
      state.count++
      state.msg = '信息+2'
    })
  */
  // 方式四
  mainStore.increment()
  // 获取getters
  const countStr = mainStore.countToString
}

import { useMainStore } from '@/store/index'
import { storeToRefs } from "pinia"
setup(){
  const mainStore = useMainStore()
  // const { count, msg } = mainStore // 该操作会导致数据失去响应式
  // 修改
  const { count, msg } = storeToRefs(mainStore)
  count.value++
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值