当 mobx observable 改变时触发函数

trigger function when mobx observable is changed

我目前正在尝试创建一个函数,当我的商店中的可观察对象发生更改时(我正在使用 mobx),该函数应该在我的 React 组件中触发。

这是我的商店 =>

class myStore{
@observable myVariable
}

这是我的 React 组件 =>

@observer
export default class MyComponent etends React.component {

    render(){
    //rendering stuff here
    }

    someFunctionTriggeredByObservableChanged(){   // maybe a intercept or observe from mobx ?
    }

}

我想知道我是否可以直接在我的 React 组件中使用 mobx 拦截或观察?

谢谢,

您正在寻找 reaction

@inject('store')
@observer
export default class MyComponent etends React.component {

  componentDidMount() {
    reaction(
      () => this.props.store.myVariable,
      () => {
        console.log('reaction');
        // do your stuff
      }
    )
  }

  ...
}

MobX Reaction Doc