即使没有涉及计算,我也会使用vuex getter?

时间:2018-04-25 11:06:28

标签: vuex

如果我只想返回我的vuex状态的成员,我应该为它定义一个getter吗?还是o.k.使用mapState?
我的困境如下:
1)拥有一个简单地返回状态成员的getter似乎更为重要:

 getters: {
   user (state) {
   return state.user
   }
 }

当我可以在消费组件中使用以下代码并保存getter的编码时?

computed: {
        ...mapState('auth',['user']),
}

但是,如果将来某些内容发生了变化,我希望在返回之前对用户对象进行一些计算,然后使用getter和

computed: {
        ...mapGetters('auth',['user']),
}

允许更简单的更改。 但是,如果这是推荐的方式,那么为什么要提供mapState呢?

那么我应该使用getter进行这种简单的状态访问吗?不是吗?

1 个答案:

答案 0 :(得分:0)

从技术上讲,正如您所说,您可以采取任何一种方式。但是,如果没有计算,那就变成了品味。

这方面没有权威,但我建议作为一般建议:

如果你的申请......

  • 具有稳定的状态格式AND
  • 你的状态不会改变和
  • 你的申请不是那么大,

...然后映射到州。

否则,请使用getters。

换句话说,如果你的应用程序有点小并且应该稳定,那么,为什么不呢?

如果不是,除了显而易见的"在需要计算时使用吸气剂",如果您的应用程序:

  • 趋于增长或
  • 具有未建立的状态结构,并且趋于改变OR
  • 已深陷国家。

然后使用getter 。他们将你的申请与州分离,允许它更自由地改变(这是经常的  需要"在遇到麻烦时#34;),简化了很多重构。

换句话说,

  

如有疑问,请使用getter而不是直接映射到state。


<子> 注意:IMO,这个问题与在Redux中使用选择器相同。并且,在Redux中,广泛推荐使用选择器。