Vuex:什么时候使用 state 和 getter?

Kim*_*nce 5 vue.js vuex

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

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

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

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

使用mapState函数可以满足这些需求中的任何一个,但我应该使用它mapGetter吗?有什么不同?

Eri*_*uan 2

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

确实如此……但是如果超过 1 个组件需要“稍微改变”的值,会发生什么情况?你最终会得到重复的逻辑。在这种情况下,在 getter 中执行“少量逻辑”。