javascript - 如果计算 View 发生变化,如何调用 mobx-state-tree 操作?

标签 javascript mobx mobx-state-tree

基本上,我想做的是在计算 View 发生变化时调用一个操作。

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

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

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

最佳答案

您可以使用mobx autorun , whenreaction去做这件事。

例如,每次 compatedValue 更改时都会触发此 react :

import { reaction } from 'mobx'

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

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

关于javascript - 如果计算 View 发生变化,如何调用 mobx-state-tree 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53766102/

相关文章:

javascript - 对已经进行动画处理的元素进行动画处理

javascript - 在 BackboneJS 中自动定义自定义 JS 库

JavaScript 多对象实例,无法正确访问事件处理程序中的属性

javascript - 使用 jQuery 隐藏具有非唯一属性的元素

javascript - 如何将 Prop 从 mobx-observable 传递到 mobx-react observable?

mobx - 为什么我应该在 mobx 中使用 Action 装饰器

MobX - 用户配置文件不同字段和空默认值问题

javascript - 无法将 mst 模型数据从一个模型复制到另一个模型

javascript - 如何在 Mobx-State-Tree 中拥有可为空的字符串值

mobx-state-tree - 如何在多个文件中拆分 Mobx 状态树模型?