0

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

  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 组件具有适当的观察者注入。

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-state-tree 更改,并在 render() 块之外运行 React.Component 函数 (this.runThisFunction())?我想我可以尝试添加快照或补丁,但我不知道如何将它直接实现到 React.Component 级别的函数上,因此它无法监听 React.Component 状态更改。

4

0 回答 0