Vuex与Pinia相关的面试题
一、vuex与pinia之间的区别
- vuex有5个属性而pinia只有3个,没有modules与mutation。
- vuex:
- state: 存放数据源的地方
- getters: 计算数据(相当于state的计算属性)
- mutation:同步,唯一能修改state数据源的地方
- actions:异步
- modules:模块化
- pinia:
- state:数据存放地
- actions:异步
- getters: 计算数据(相当于state的计算属性)
- vuex:
- pinia体积更小(性能更好)。
- pinia可以直接修改state里的数据,而vuex只能通过mutation中去修改。
二、vuex中mutation与actions之间的区别
- mutation是唯一能修改state数据源的地方,而actions不可以直接修改。
- mutation不是执行异步的代码而actions可以。
三、为什么要使用vuex|pinia状态管理,而不建一个全局变量
-
响应式
- vuex与pinia存储的是响应式,获取与修改,引用都能得到高效的处理。
-
命名冲突
-
方便管理
四、vuex 与 localStorage 的区别
-
存储位置不一样
- vuex存储在内存中,刷新的话就会清除。localStorage存储在本地内存当中,除非手动清除,否则一直存在。
-
存储的有效时间不一样
-
响应式
- vuex存储具有响应式,localStorage没有。