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

问题描述

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

例如,

我的状态中有一个fontSize属性,其值为16。

state: {
    fontSize: 16,}

现在,我还想拥有一个lineHeight,该高度是通过将fontSize乘以1.4来计算的。

例如,我可以在我的吸气器中说:

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

这是正确的处理方式,还是应该使用Mixins /新的Vue3合成API代替Vuex进行这些类型的计算?

解决方法

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

有时我们可能需要根据商店状态计算派生状态,例如,通过一系列商品过滤并计数

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

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

}