定义: 在Vuex中,actions和mutations是两个核心概念,用于管理应用程序状态的变化。

一: Mutations

mutations是用于修改Vuex状态的唯一方法。它们是同步操作,意味着它们必须是纯函数,以确保状态的可预测性。这意味着mutations应该只用于同步操作,例如在响应用户事件时更新状态。它们不应该包含任何异步代码,如API调用。

举个例子,下面的代码演示了如何定义一个名为increment的mutation,用于将state中的count属性增加

const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
}
})

store.commit('increment') // 调用mutation
1
2
3
4
5
6
7
8
9
10
11
12
13
二:Actions

actions用于执行异步操作或包含异步操作的操作序列。它们可以包含任何异步代码,例如API调用或其他异步操作,但不能直接修改状态。相反,它们通过commit触发mutations来间接修改状态。

举个例子,下面的代码演示了如何定义一个名为fetchData的action,它会异步获取数据并提交mutation来更新状态:

const store = new Vuex.Store({
state: {
data: null
},
mutations: {
setData(state, data) {
state.data = data
}
},
actions: {
async fetchData({ commit }) {
const response = await fetch('https://api.example.com/data')
const data = await response.json()
commit('setData', data)
}
}
})

store.dispatch('fetchData') // 调用action
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
总之,mutations和actions有不同的角色和职责。mutations用于同步状态的修改,actions用于执行异步操作并间接修改状态。
————————————————
版权声明:本文为CSDN博主「JoinMao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_56960330/article/details/129420007

vuex中actions和mutations区别的更多相关文章

  1. vuex中mutations与actions的区别

    要执行vuex中的函数,有两种方法: 1.commit,例如this.$store.commit("GETMODULESELECTLIST"); //mutations中的方法 2 ...

  2. vuex中的state、mutations 、actions 、getters四大属性如何使用

    一.state (提供唯一的公共数据源) 方式1 在div中,$store.state.count 方式2 import {mapState} from 'vuex' computed:{ -mapS ...

  3. vuex中mutations数据响应

    vuex中的mutation需遵守Vue的响应规则: 既然Vuex的store中的状态是响应式的,那么在我们变更状态时,监视状态的Vuex最好在state中初始化好所有的所需属性. 如果需要在对象上添 ...

  4. vue:vuex中mapState、mapGetters、mapActions辅助函数及Module的使用

    一.普通store中使用mapState.mapGetters辅助函数: 在src目录下建立store文件夹: ​ index.js如下: import Vue from 'vue'; import ...

  5. vuex(一)mutations

    前言:vuex的使用,想必大家也都知道,类似于状态库的东西,存储某种状态,共互不相干的两个组件之间数据的共享传递等.我会分开给大家讲解vuex的使用,了解并掌握vuex的核心(state,mutati ...

  6. vue之mapMutaions的使用 && vuex中 action 用法示例 && api.js的使用

    vue之mapMutations的使用 我们通过Mutation来改变store中的state,方法往往是在子组件中使用 this.$store.commit(); 来实现,但是这样的缺点是不容易查看 ...

  7. vuex中module的命名空间概念

    vuex中module的命名空间概念 默认情况下,模块内部的 action.mutation 和 getter 是注册在全局命名空间的. 弊端1:不同模块中有相同命名的mutations.action ...

  8. Vuex中mapState的用法

    Vuex中mapState的用法   今天使用Vuex的时候遇到一个坑,也可以说是自己的无知吧,折腾了好久,终于发现自己代码的错误了.真是天雷滚滚~~~~~~ index.js import Vue ...

  9. vuex中mapGetters的使用及简单实现原理

    一.项目中的mapGetters在Vue项目的开发过程中必然会使用到vuex,对vue项目公用数据进行管理,从而解决组件之间数据相互通信的问题,如果不使用vuex,那么一些非父子组件之间的数据通信将会 ...

  10. Electron-vue实战(三)— 如何在Vuex中管理Mock数据

    Electron-vue实战(三)— 如何在Vuex中管理Mock数据 作者:狐狸家的鱼 本文链接:Vuex管理Mock数据 GitHub:sueRimn 在vuex中管理mock数据 关于vuex的 ...

随机推荐

  1. ZMM050N

    /********* Begin Procedure Script ************/ BEGIN var_out = with a as ( select mandt,matnr,werks ...

  2. 【前端AI实践】简说AI大模型:什么时代了你还不会这些AI大模型的基本概念和使用吗

    如果你是前端开发者,可能已经用过像 ChatGPT.GitHub Copilot 这样的 AI 工具.它们背后都有一个核心能力在支撑:AI 大模型. 那这个"大模型"到底是个啥?它 ...

  3. Go + WebSocket + Chrome Extension:基于真实浏览器环境的 cf_clearance 自动化获取方案

    前言 随着 Web 安全防护技术的演进,Cloudflare 等 CDN 服务商部署的反爬虫机制愈发复杂.传统的 HTTP 客户端库已无法有效应对基于 JavaScript 执行的挑战验证,而 Sel ...

  4. HarmonyOS免密认证方案 助力应用登录安全升级

    6月21日,2025年华为开发者大会"安全与隐私分论坛"在松山湖顺利举办.本论坛聚焦App治理与监管.星盾安全2.0的核心能力等进行深度分享与探讨.其中,HarmonyOS Pas ...

  5. MSSQL 发布订阅,实现读写分离 SQL Server

    https://blog.csdn.net/qq_32343577/article/details/82423393 -查询服务器的名称和实际计算机的名称,如果两者不一致,就需要修改. use mas ...

  6. C++多线程的转载

    转载自 http://www.cnblogs.com/quincyhu/p/5884361.html 例子也请访问这个博客的页面 技术要点 //使用 -lpthread 库编译下面的程序: g++ t ...

  7. RFKILL 调研

    RFkill 调研. 概念 可使其处于可被软件重新激活的状态(软锁定)或者将其放在软件无法重新激活的位置(硬锁定). 命令执行 E:rfkill list 获 得 设 备 列 表 ,每 个 都 包 含 ...

  8. 复杂文件格式如何通过ETL工具一步处理

    企业在数字化转型过程中,会面临数据孤岛及格式异构的双重挑战.传统方法处理JSON.XML.CSV等数十种混合格式时,常受限于解析效率低.转换逻辑复杂及数据质量参差等问题.而ETL工具凭借系统化数据治理 ...

  9. 使用django-crispy-forms美化表单UI

    前言 欧克,继续来写这个中台项目衍生出来的系列文章 今天介绍一个可以美化界面的库 Django 开发讲究个快,天下武功,唯快不破 forms 功能自然是要用的,自带表单 UI 生成和验证,实现 dem ...

  10. Linguistics-English-区分词义 的 常义&反义 结合判断法- "正常的" 三个单词的 Normal/Abnormal -> Regular/Irregular -> Ordinary/Extraordinary

    Linguistics-English-区分词义 的 常义&反义 结合判断法 "正常的" 的 三个单词(Normal/Regular/Ordinary)的词义辨析 -> ...