当mobx observable改变时触发器功能

问题描述 投票:0回答:1

我目前正在尝试创建一个函数,当我的商店中的observable被更改时(我正在使用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 ?
    }

}

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

谢谢,

reactjs observable mobx
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.