【VUEX】state、mutations、actions、getters、modules以及辅助函数mapState和mapGetters

这篇具有很好参考价值的文章主要介绍了【VUEX】state、mutations、actions、getters、modules以及辅助函数mapState和mapGetters。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vuex

简介:vuex是vue.js的状态管理库

提供一种集中式存储管理应用程序中的所有组件的状态,并将其分离到一个可预测的状态容器中。

五个核心属性:state、mutations、actions、getters、modules
属性 作用
state 存放状态(数据),所有组件共享
mutations 唯一可以修改state的地方,改变state状态需要通过显示地commit(提交)mutation(同步)
actions 用于异步操作提交mutations,根据后端接口返回数据去commit更新数据
getters 获取state中的状态
modules 将store分割成模块,每个模块都拥有自己的state、mutation、action、getters和子模块,以便提高应用程序的可维护性
两个辅助函数:mapState、mapGetters
属性 作用 用法
mapState 将 store 中的 state 映射到局部计算属性 computed: {…mapState([‘count’, ‘xx’]),}
mapGetters 将 store 中的 getter 映射到局部计算属性 computed: {…mapGetters([‘count’, ‘xx’]),}

当一个组件需要获取多个状态的时候,可以使用 mapState或mapGetters 辅助函数帮助我们生成计算属性,减少冗余代码:

// store 中的 state、getter 映射到局部计算属性
import { mapState, mapGetters } from 'vuex'; 
computed: {
  // 使用对象展开运算符将此对象混入到外部对象中
  ...mapState(['count']),
  ...mapGetters(['count']),
  localComputed () { /* ... */ },
}

可以通过 this.$store 访问store实例,从Store中读取state(状态),改变state状态需要通过显示地commit(提交)mutation;文章来源地址https://www.toymoban.com/news/detail-535530.html

//当有modules模块化时要注意提交commit需要加上文件名
this.$store.commit('app/SET_COUNT', 10)

到了这里,关于【VUEX】state、mutations、actions、getters、modules以及辅助函数mapState和mapGetters的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vuex 辅助函数

    vuex 内部封装了四个辅助函数,分别用来对应 state,getters,mutations,actions 的操作。 辅助函数,就是语法糖。 组件中 mapState 用来导入 vuex 的 state 对象里的属性,vuex 的 state 对象里的属性一般导入进计算属性 computed 里当计算属性使用。 演示,导入 vuex 的 state 对象里的 msg 属

    2024年02月10日
    浏览(24)
  • vue之vuex的getters详解

    1.getters:类似是Vuex中的计算属性,也具有缓存功能:如果state中的数据得到了改变,那么getters中的属性的值也会发生改变,如果state的值没有发生任何变化,那么getters中的属性,的值就不会发生改变 (1)例如state里有个list数据: (2)再gitters里通过filter方法过滤出需要的数

    2024年02月07日
    浏览(33)
  • 第四章-Actions&;Getters(自用)

    diff算法---双端diff 核心思路创建4个索引和指针,分别指向新旧节点的头尾,进行4次比较:头头、尾尾、新尾旧头、新头旧尾;若四次比较中存在可复用节点,则移动对应的索引和指针新旧头尾未找   第四章-ActionsGetters(自用) ActionsGettersActionsPinia的Actions类似于methods,在A

    2024年02月16日
    浏览(30)
  • vuex前端开发,getters是什么?怎么调用?简单的案例操作

    vuex前端开发,getters是什么?怎么调用?简单的案例操作! 下面通过一些简单的案例,来了解一下,vuex当中的getters到底是什么意思,有哪些实际的操作案例。 Vuex的getters主要用于对 store中的state进行计算或过滤 ,类似于Vue组件中的 计算属性 。它可以对state进行一些处理,然后

    2024年01月19日
    浏览(36)
  • Vue2向Vue3过度Vuex核心概念mutations

    1.定义mutations 2.格式说明 mutations是一个对象,对象中存放修改state的方法 3.组件中提交 mutations 4.练习 1.在mutations中定义个点击按钮进行 +5 的方法 2.在mutations中定义个点击按钮进行 改变title 的方法 3.在组件中调用mutations修改state中的值 5.总结 通过mutations修改state的步骤 1.定义

    2024年02月11日
    浏览(30)
  • 十八、Gtk4-Stateful action

    有些动作action有状态。状态的典型值是布尔值或字符串。但是,如果你愿意,也可以使用其他类型的状态。 具有状态的动作称为有状态的。 有些菜单被称为切换菜单。例如,全屏菜单有一个状态,它有两个值——全屏和非全屏。每次单击菜单时,状态的值都会改变。一个动

    2023年04月20日
    浏览(33)
  • 用 Gaussian Process 建模 state-action 空间相关性,加速 Multi-Fidelity RL

    目录 全文快读 1 intro 3 背景 4 method 4.1 model-based 算法:GP-VI-MFRL 4.2 model-free 算法:GPQ-MFRL 5 experiment 6 讨论与展望 题目:Multi-fidelity Reinforcement Learning With Gaussian Processes: Model-Based and Model-Free Algorithms 链接:https://ieeexplore.ieee.org/abstract/document/9069479 IEEE Robotics Automation Magazine 是 rob

    2023年04月16日
    浏览(24)
  • vuex中的modules使用

             模块,向store注入其他子模块,可以将其他模块以命名空间的方式引用。           为了拆分state中的数据,提高可维护性,防止修改时的覆盖和重名。 前置条件: (1)在工程的 /src/store目录下建modules文件夹。 (2)modules文件夹下建shop.js: const shopCar = {     name

    2024年04月22日
    浏览(27)
  • 关于在使用Vuex时终端报错TypeError: Cannot read properties of undefined (reading ‘state‘)的解决方案

    下面都是代码的正确语法书写和使用,先和自己的代码对一下,没有语法错误在看后面的解决方案。 1.当创建一个vue2项目后并安装最新的vuex包(没有指定版本) 2.引入vuex并生成一个store对象(src/store/index.js) 3.在main.js中挂载store(src/main.js) 4.到这里为止都是vuex正确的使用但是终端

    2024年02月13日
    浏览(40)
  • 解决ERROR in ./node_modules/vuex/dist/vuex.esm.js

    当你安装vuex时,安装完成后可能会出现这样的报错 ERROR in ./node_modules/vuex/dist/vuex.esm.js    两种原因: 1、如果你是用的是vue2,那应该安装vuex@3版本 npm i vuex@3 如果你是用的是vue3,那么应该安装vuex@4版本  npm i vuex@4 2、第二种情况就是,你安装的版本没问题,但是你是在运行情

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包