一、Vuex相关概念和使用

目录

  • Vuex的概念
  • 核心概念
  • Vuex 的使用场景
      • 1、组件之间的数据共享
      • 2、复杂状态的管理
      • 3、异步操作的处理

Vuex的概念

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

状态管理模式?
状态自管理应用包含以下几个部分:

state,驱动应用的数据源;
view,以声明方式将 state 映射到视图;
actions,响应在 view 上的用户输入导致的状态变化。

单向数据流难以满足负责的传参。而 Vuex这种模式下,我们的组件树构成了一个巨大的“视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为!

核心概念

/ 概念 直接使用 map辅助函数 modules中
State 存储应用状态数据的对象,与vue中data类似 this.$store.state.xxx computed: { …mapState([‘xxx’]), …mapState({‘新名字’: ‘xxx’})} 一、Vuex相关概念和使用_第1张图片
Getters 类似vue的计算属性,store中数据的变化,getters的数据也会发生变化 this.$store.getters.xxx computed: { …mapGetters([‘xxx’]), …mapGetters({‘新名字’: ‘xxx’})} 一、Vuex相关概念和使用_第2张图片
Mutations 提交mutation来修改store中的状态,同步操作 this.$store.commit(‘mutation名’, 参数); methods: { …mapMutations([‘mutation名’]), …mapMutations({‘新名字’: ‘mutation名’})} 一、Vuex相关概念和使用_第3张图片
Actions 与mutations类似,提交修改state的行为,处理异步任务(提交的是mutation,不是直接修改状态) this.$store.dispatch(‘action名’, 参数); methods: { …mapActions([‘actions名’]), …mapActions({‘新名字’: ‘actions名’})} 一、Vuex相关概念和使用_第4张图片

Vuex 的使用场景

1、组件之间的数据共享

当多个组件需要访问或者操作同一个数据的时候,可以使用 Vuex 进行集中管理。例如,在一个购物车页面中,多个组件需要对商品的数量、价格等信息进行操作和展示。

2、复杂状态的管理

例如,在一个音乐播放器应用中,不同组件需要对当前播放的歌曲、播放状态、歌曲列表等进行操作和展示。

3、异步操作的处理

当应用中存在异步操作(如网络请求、定时器等)时

你可能感兴趣的:(2023面试准备,vuex,vue,vue.js,前端)