Mobx状态树更改状态时如何更新React组件内部功能?

时间:2019-11-06 00:42:39

标签: reactjs mobx-state-tree

当mobx状态树的可观察地图大小发生变化时,我正在尝试尝试更新道具。这是我的尝试:

  componentDidUpdate(prevProps) {
    // Typical usage (don't forget to compare props):
    if (this.props.mobxStore.lengthOfEnabledColumns !== prevProps.mobxStore.lengthOfEnabledColumns) {
      this.runThisFunction()
    }

  }

但是,componentDidUpdate不会在mobx-state-tree中检测到更改。

React组件具有适当的Observer注入。

const connectedComponent = inject('mobxStore')((connect(mapStateToProps, mapDispatchToProps)(ExampleComponent)));

render函数还具有观察者:

render() {
    const { mobxStore} = this.props;
    return (
                  <Observer>{
                    () =><React.Fragment>
                    <h1>Example</h1>
                    </React.Fragment>
                  }
                  </Observer>
      

    );
  }
}

问题:如何获取React组件以识别mobx状态树的变化,并在render()块外部运行React.Component函数(this.runThisFunction())?我在想可以尝试添加快照或补丁,但是我不知道如何直接将其实现到React.Component级别的函数上,因此它将无法监听React.Component的状态更改。

0 个答案:

没有答案