vuex
模块
Vuex主要模块有:state, getters, mutations, actions, modules。
state: 全局属性与状态。
getters: 依赖state属性的值,state的计算属性。
mutations: 改变state的同步方法,通过commit调用。
actions: 改变state的异步方法,通过dispatch调用。
modules: 多模块管理,其他模块的属性与方法。
持久化
npm i vuex-persistedstate
pinia
pinia主要模块有:state, getters, actions。
模块
state: 全局属性与状态,可以模拟分模块。
getters: 依赖state属性的值,state的计算属性。
actions: 改变state的方法,同步异步都支持,无需commit和dispatch。
持久化
npm i pinia-plugin-persistedstate
vuex和pinia的区别
1、拥有的方法不同
vuex: state, getters, mutations(同步), actions(异步), moudles
pinia: state, getters, actions(同步异步都支持)
2、更新state的方式不同
pinia舍弃了mutations,减少了很多不必要的代码,且不需要通过commit和dispatch就能直接调用。
3、对Typescript的支持程度不同
pinia对Typescript支持的更好,vuex中很多属性缺少类型支持,需要开发者进行模块类型的声明。