当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的状态更改。>