什么是在Mobx中使用计算值?

时间:2017-06-29 13:28:54

标签: reactjs mobx

我们开始将mobx整合到我们现有的项目中,但我认为目前还有一些概念我还没有完全掌握。

其中一个是计算值,它们的实际用途是什么?

说我有这个商店

const UserStore = observable({
  user: null,

  setUser: action(user => {
    UserStore.user = user;
  }),

  unsetUser: action(() => {
    UserStore.user = null;
  }),

  isAdmin: computed(() => {
    return UserStore.user && UserStore.admin;
  }),

  isAdmin() {
    return this.user && this.user.admin;
  },
});

正如您所看到的,我已经包含了计算出的isAdmin和' regular' isAdmin。在我的项目中使用时,两者似乎都有效,所以我真的没看到计算值的用途是什么?

1 个答案:

答案 0 :(得分:0)

计算值被缓存。 reference说:

  

如果先前计算中使用的数据均未更改,则计算属性不会重新运行

在你的情况下,一个简单的逻辑操作,这不会给你太多(可能会更慢)。但是你可以用它来进行更昂贵的计算。