Pinia


Pinia在Vue3的使用

本篇文章主要是总结Pinia在Vue3的使用

Pinia

1.安装pinia npm i pinia

2.在main.js中按需导入createPinia,创建pinia,使用pinia

import { createApp } from 'vue'
// #1
import { createPinia } from 'pinia'
import App from './App.vue'
// #2
const pinia = createPinia()
// #3
createApp(App).use(pinia).mount('#app')

3.创建仓库与使用

创建store文件夹,创建一个ts文件

import { defineStore } from 'pinia'
import { computed, ref } from 'vue'

export default defineStore('仓库名字',()=> {
  // state
  const count = ref(100)
  // getters
  const doubleCount = computed(() => count.value * 2)
  // mutation
  const update = ()=> count.value++
  //action
  const asyncUpdate = ()=> {
    setTimeout(() => {
      count.value++
    }, 1000)
  }
  return { count, doubleCount, update, asyncUpdate }
})

4.使用数据

import pinia名 from './stores/pinia路径'
import { storeToRefs } from 'pinia'
const { count, sum } = storeToRefs(ok())
const { doClick, doClickSync } = ok()

storeToRefs将pinia中的数据绑定成响应式

方法不需要进行绑定成响应式

总结

Vuex Pinia
state ref和reactive创建的响应式数据
getters computed创建的计算属性
mutations和actions 普通函数,同步异步均可

文章作者: 冷杨威
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 冷杨威 !
  目录
-->