0

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

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

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

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

4

1 回答 1

1

你可以使用 mobx autorunwhen或者reaction去做。

例如,每次computedValue更改都会触发此反应:

import { reaction } from 'mobx'

reaction(
  () => store.computedValue,
  () => store.doSomething()
)

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

于 2019-01-07T20:43:35.407 回答