是否保证 ResourceBundle.getBundle("Interfaz", Locale.getDefault());
生命周期方法将始终在componentDidMount
之前执行(并完成)?
例如,在我的componentWillUnmount
方法中,我正在注册订阅:
componentDidMount
如果不能保证componentDidMount() {
this.unsubscribe = subscribe();
}
componentWillUnmount() {
this.unsubscribe();
}
在componentDidMount
之前执行并完成,则componentWillUnmount
可能是this.unsubscribe
,并且尝试调用它会抛出一个错误。运行时错误。
答案 0 :(得分:0)
有关componentDidMount
生命周期方法(https://reactjs.org/docs/react-component.html#componentdidmount)状态的类组件文档说明:
This is a good place to set up any subscriptions. If you do that, don’t forget to unsubscribe in componentWillUnmount().
基于此,我可以保证保证componentDidMount
将始终在componentWillUnmount
之前执行,否则大多数取消订阅都会抛出您提到的错误。