一文解释mapState的来龙去脉

这篇具有很好参考价值的文章主要介绍了一文解释mapState的来龙去脉。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mapState

Vuex 提供的辅助函数之一,将 store 中的状态映射到组件的计算属性中,使得在组件中可以轻松地访问 Vuex store 中的状态值

  • MapState(映射状态)

在我们的 Count.vue 组件中,可以使用 mapState 来更简洁地获取 count 的状态值

首先,导入 mapState

 import { mapState } from 'vuex'

然后,在 computed 中使用 mapState

 computed: {
 //借助mapState生成计算属性,从state中读取数据 如果是对象的话使用key-value
 // 对象写法 soqi是计算属性名,count是状态名
  ...mapState([suoqi:'count'])
 // 数组写法
   ...mapState(['count'])
 },

数组的写法:

  • count(在计算属性中的名字)是我们在组件中可以使用的计算属性名

  • count(在数组中的字符串)是 Vuex store 中的状态名,从state中读取数据

它们一起简写为['count']了

现在, Count.vue 组件中会有一个名为 count 的计算属性,它会映射到 Vuex store 中的 count 状态,就和我们之前的使用方式一样啦

一文解释mapState的来龙去脉,Vue,前端,javascript,开发语言,vue.js

等同于:

 // 对象写法
 ...mapState({
 //  soqi:'count'
     count: 'count'
   })
 // 普通写法
  suoqi() {
       return this.$store.state.count;
     },
  count() {
     return this.$store.state.count;
   }

总的来说,...mapState(['count']) 让我们可以非常方便地将 Vuex store 中的状态映射到组件中,避免了在每个组件中都需要写一遍 this.$store.state.count 的繁琐代码。

这里的点点点...是用了ES6的对象展开运算符(Spread Operator)语法,给不会的伙伴简单拓展一下

 const obj1 = { a: 1, b: 2, c: 3 };
 const obj2 = { ...obj1, d: 4, e: 5 };
 console.log(obj2);

obj2 是通过将 obj1 中的所有属性展开,再添加额外的属性 de 构建而成的。

在我们之前的讨论中,mapState(['count']) 使用了对象展开运算符将 count 属性从 mapState 返回的数组中提取出来,并将它作为组件的计算属性。

相当于这个过程:

 computed: {
   count() {
     return this.$store.state.count;
   }
 }

没理解的话再拓展一点,mapState(['count']) 返回的是一个包含一个函数的对象,所以...把mapState的这些属性全部展开

 {
   count: function state() {
     return this.$store.state.count;
   }
 }

这样就使得我们可以在组件中以 this.count 的方式方便地访问 Vuex store 中的 count 状态了,和之前的结果效果一样

对您有用的话请点个免费的赞叭,有任何问题都可留言或私信哈~文章来源地址https://www.toymoban.com/news/detail-728390.html

到了这里,关于一文解释mapState的来龙去脉的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 从源码全面解析 dubbo 注解配置的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙、Spring从成神到升仙系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一

    2024年02月08日
    浏览(37)
  • 从源码全面解析 dubbo 服务订阅的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列、duubo源码系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦

    2024年02月09日
    浏览(37)
  • 从源码全面解析 Java SPI 的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列、duubo源码系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦

    2024年02月12日
    浏览(39)
  • 从源码全面解析 dubbo 服务暴露的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 🍂博主正在努

    2024年02月07日
    浏览(41)
  • 从源码全面解析Java 线程池的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 🍂博主正在努

    2024年02月03日
    浏览(61)
  • 你所不知道的 数据在内存中储存 的来龙去脉

            那么好了好了,宝子们,今天给大家介绍一下 “数据在内存中储存” 的来龙去脉,来吧,开始整活!⛳️          一、数据类型的介绍 (1)整型和浮点型:    (2)其他类型:    二、数据在内存中的储存顺序(大端 小端)   (1)引入字节序: 字节序

    2024年02月06日
    浏览(69)
  • 【网络间谍篇】SolarWinds供应链攻击事件的来龙去脉

    2020年11月底,FireEye的审查员在内部安全日志审计中发现一条安全警告:一位员工注册了一个新的手机号码接收双因素认证验证码。然而据该员工反馈,这段时间并未在系统中注册新的手机号码,FireEye 迅速组织团队开始彻查。 2020年12月13日,FireEye发布了关于SolarWinds供应链攻

    2024年02月07日
    浏览(41)
  • 从源码全面解析 dubbo 服务端服务调用的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列、duubo源码系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦

    2024年02月11日
    浏览(33)
  • 从源码全面解析 dubbo 消费端服务调用的来龙去脉

    👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主 📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码系列、duubo源码系列 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦

    2024年02月09日
    浏览(38)
  • 《吊打面试官》从根上剖析ReentrantLock的来龙去脉

    🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 🍂 一个人可能走得更快,但是一群人会走得更远! 📝联系方式:wx,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬👀 并发编程 在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官

    2023年04月21日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包