如果计算视图发生更改,如何调用mobx-state-tree动作?

时间:2018-12-13 16:22:40

标签: javascript mobx mobx-state-tree

基本上,我要执行的操作是在计算的视图发生更改时调用操作。

pairs = (
    (96.5, 5.83),
    (92.5, 5.5),
    (89.5, 5.16),
    (86.5, 4.83),
    (82.5, 4.5),
    (79.5, 4.16),
    (76.5, 3.83),
    (72.5, 3.5),
    (69.5, 3.16),
    (68.5, 2.83),
    (64.5, 2.5),
)

def get_grade(g):
    for grade, value in pairs:
            if g >= grade:
                return value
    return 0

如果calculatedValue更改,我想调用doSomething操作。我无法控制对哪些更新的calculatedValue进行控制。

关于如何实现此目标的任何想法?

1 个答案:

答案 0 :(得分:1)

您可以使用mobx autorunwhenreaction来实现。

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

import { reaction } from 'mobx'

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

您可以在mobx文档中了解有关这些mobx实用工具的更多信息:https://mobx.js.org