在vue3项目中,vuex的版本为4.x,基本使用方法与vuex 3.x版本基本相似,而pinia则是vuex5的提案,同时,vue团队也推荐在vue3项目中使用pinia,未来有可能取代vuex。
众所周知,vue3是由TS重写,对TS的支持度更好,而pinia对类型推断也更友好。
安装 npm i pinia 或者yarn add pinia
在pinia中,mutations已被省略,无论是异步还是同步方法,都放在actions中使用。state,getters和actions使用方法与vuex保持一致。
main.js需配置
improt { createStore } from 'pinia'
const pinia = createStore()
createApp().use(pinia).mount('#app')
然后在src下面的store文件夹里面的index.js即可开始使用。
improt { defineStore } from 'pinia'
const useCountStore = defineStore('count',{
state:()=>{},
getters:{},
actions:{}
})
//这里与vuex使用基本一致,其中,defineStore实例里面的'count'起标识符的作用,区别store文件。
注意:项目要用pinia则不能同时用vuex。