Vuex是一个专为Vue开发的应用程序的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex采用类似全局对象的形式来管理所有组件的公用数据
简单来说vuex是一个数据管理库 提供统一的状态管理
vuex里分别有state、mutation、actions、getters、modules
state是将多个组件中需要共享的数据放入其中
mutation:改变store中的数据时,使用mutation,但只能包含同步的操作,在具体组件里面调用的方式this.$store.commit('xxxx')
actions:它也可以改变store中的数据,不过是要调用mutation里的函数间接修改store,是异步操作,在组件中的调用方式this.$store.dispatch('xxx'); 在actions里面使用的commit('调用mutation')
getters是计算属性
modules是模块化,要使用namespaced:true开启命名空间,实现模块化
使用pinia代替vuex,原因是:pinia轻量化 --- 代码体积小,打包时体积变小,速度更快
pinia配置方法只有:state、getters、actions
actions:异步同步任务都可以在里面发送
定义store:defineStore storeId是唯一标识 可以有多个store 跟modules功能一样