在 Vuex 中根据状态属性进行计算的正确方法是什么?

What is the correct way to do calculations based on state properties in Vuex?

我有一些相互依赖的 Vuex 属性,我想知道用它们进行计算的最佳方法。

例如,

我所在的州有一个 fontSize 属性,其值为 16。

state: {
    fontSize: 16,
}

现在我还想要一个 lineHeight,它是通过将 fontSize 乘以 1.4 的一个因子来计算的。

所以我可以在我的吸气剂中说:

getters: {
   lineHeight: state => state.fontSize * 1.4
}

这是正确的做事方式吗?还是我应该使用 Mixins / new Vue3 composition API 而不是 Vuex 来进行这些类型的计算?

是的,根据 official doc 是正确的:

Sometimes we may need to compute derived state based on store state, for example filtering through a list of items and counting them

您还可以使用基于 fontSize 状态 属性 的名为 lineHeight 的计算 属性 :

computed:{
   lineHeight(){
      this.$store.state.fontSize*1.4
   }

}