Vuex:何时使用状态与getter?



从Vuex检索数据时,在某些情况下,直接使用getters和访问状态之间的选择非常明确。 例如:

  • 如果我检索一个简单的标量,例如count变量的值,直接访问状态似乎是有意义的
  • 但是,如果我正在检索过滤的项目列表,则getter是明确的选择。

但是,对于检索值只需要少量逻辑的其他情况呢? 例如,如果我的商店根目录中有一个foo对象,并且:

  • 我想检索一个值,例如 foo.option,但我不确定它是否存在。 我通常会使用三元运算符来检查值是否存在,然后返回值或返回 null。
  • 我想检索 foo.date,但日期是一个字符串,所以我希望它转换为时刻。

这些需求中的任何一个都可以使用mapState函数来满足,但我应该改用mapGetter吗? 有什么区别?

这些需求中的任何一个都可以使用 mapState 函数来满足

真。。。但是,如果超过 1 个组件需要"略有改变"的值,会发生什么情况?你最终会得到重复的逻辑。在这种情况下,在 getter 中执行"少量逻辑"。

最新更新