【问题标题】:How to call an mobx-state-tree action if a computed view changes?如果计算视图发生更改,如何调用 mobx-state-tree 操作?
【发布时间】:2018-12-13 16:22:39
【问题描述】:

基本上我要做的是在计算视图发生变化时调用一个动作。

const Store = types
  .views(self => ({
    get computedValue() {
      return somethingComputed;
    }
  }))
  .actions(self => ({
    doSomething() {
      doSomeStuffUsingComputedValue(self.computedValue);
    }
  }));

如果 computedValue 发生变化,我想调用 doSomething 操作。我无法控制更新计算值的内容。

知道如何实现这一目标吗?

【问题讨论】:

    标签: javascript mobx mobx-state-tree


    【解决方案1】:

    你可以使用 mobx autorunwhenreaction 来实现。

    比如每次computedValue变化都会触发这个反应:

    import { reaction } from 'mobx'
    
    reaction(
      () => store.computedValue,
      () => store.doSomething()
    )
    

    您可以在 mobx 文档中阅读有关这些 mobx 实用程序的更多信息:https://mobx.js.org

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多