Как вызвать действие mobx-state-tree, если вычисляемое представление изменяется? - PullRequest
0 голосов
/ 13 декабря 2018

По сути, я пытаюсь вызвать действие, если изменяется вычисляемое представление.

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

Я хочу вызвать действие doSomething, если computedValue изменится.У меня нет контроля над тем, какие обновления computedValue.

Есть идеи, как мне этого добиться?

1 Ответ

0 голосов
/ 07 января 2019

Вы можете использовать mobx autorun, when или reaction, чтобы сделать это.

Например, этореакция будет срабатывать каждый раз, когда computedValue изменения:

import { reaction } from 'mobx'

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

Подробнее об этих утилитах mobx вы можете прочитать в документации по mobx: https://mobx.js.org

...