当前位置: 首页 > 知识库问答 >
问题:

前端 - mapState或者mapGetter的使用场景到底是什么?

后星河
2023-08-13
  computed: {    ...mapState(['someObject'])    someObject() {      return this.$store.state.someObject;    }  }

这两种方式都可以引用state里的某个变量,让我们更简洁的去使用它,而不需要写一长串前缀,我的疑问是这两个有什么区别?后者这么写也能实现目标,那为什么还有mapState的存在呢?是不是就显得多余了。

共有2个答案

楚嘉
2023-08-13

你把他们俩理解成 vue 中的 data(state) 和 computed(getter) 就明白了,主要特征是一致的。


Edit

我的锅,没仔细看问题,比较类似的就是es6中的对象解构赋值。
可以简写很多东西,一次书写可以将多个state和getter映射到计算属性中。

秦飞航
2023-08-13

等你将来代码越写越多,就会渐渐明白,语义化和简写,虽然看起来改进不大,但也有其特别的价值。

 类似资料:
  • 在学习泛型的时候: R: 用于表示函数返回值的泛型类型参数。 请问这个R的使用场景是什么呢?

  • vue renderTracked和renderTriggered有什么使用场景和用法? https://cn.vuejs.org/api/options-lifecycle.html#rendertracked 具体来说,比如: type DebuggerEvent = { effect: ReactiveEffect target: object type: TrackOpTypes / 'g

  • ThreadLocal 是一个本地线程副本变量工具类,在每个线程中都创建了一个 ThreadLocalMap 对象,简单说 ThreadLocal 就是一种以空间换时间的做法,每个线程可以访问自己内部 ThreadLocalMap 对象内的 value。通过这种方式,避免资源在多线程间共享。 原理:线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java提供ThreadL

  • 本文向大家介绍ThreadLocal 是什么?有哪些使用场景?相关面试题,主要包含被问及ThreadLocal 是什么?有哪些使用场景?时的应答技巧和注意事项,需要的朋友参考一下 ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 ThreadLocal 的经典使用场景是数据库连接和 session 管理等。

  • useDefferedValue的运用场景是什么? 为什么我的这个并没有实现useDefferedValue的延迟效果(不影响input的更新) 理论上不是应该每次输入,更新新的state的时候,slowList后台重新渲染,然后input的输入是不影响的,但是如果再次输入,就会触发slowList新的渲染,抛弃旧的渲染。就类似于渲染的防抖吗? 重新找了些资料,但是也没有解决问题。。。 从结果来看

  • 本文向大家介绍 什么是断言?应用场景?相关面试题,主要包含被问及 什么是断言?应用场景?时的应答技巧和注意事项,需要的朋友参考一下