更改Mobx可观察时的触发功能

时间:2019-03-05 10:03:50

标签: reactjs observable mobx

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

这是我的商店=>

class myStore{
@observable myVariable
}

这是我的反应组件=>

@observer
export default class MyComponent etends React.component {

    render(){
    //rendering stuff here
    }

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

}

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

谢谢

1 个答案:

答案 0 :(得分:2)

您正在寻找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