是否始终在componentWillUnmount之前调用componentDidMount?

时间:2020-10-29 13:55:09

标签: reactjs

是否保证 ResourceBundle.getBundle("Interfaz", Locale.getDefault()); 生命周期方法将始终在componentDidMount之前执行(并完成)?

例如,在我的componentWillUnmount方法中,我正在注册订阅:

componentDidMount

如果不能保证componentDidMount() { this.unsubscribe = subscribe(); } componentWillUnmount() { this.unsubscribe(); } componentDidMount之前执行并完成,则componentWillUnmount可能是this.unsubscribe,并且尝试调用它会抛出一个错误。运行时错误。

1 个答案:

答案 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之前执行,否则大多数取消订阅都会抛出您提到的错误。