是否在应用程序关闭时删除了侦听器?

时间:2019-05-06 10:42:22

标签: javascript reactjs react-native

比方说,我已经在componentDidMount中注册了以下侦听器:

    NetInfo.isConnected.addEventListener('connectionChange', this.props.connectionChange)

我需要在应用程序运行时始终使监听器处于活动状态。

在这种情况下,是否需要调用removeEventListener或在关闭应用程序后将其删除?

1 个答案:

答案 0 :(得分:0)

您可以在componentWillUnmount或状态为inactive时删除侦听器

componentDidMount() {
  AppState.addEventListener('change', this.handleAppStateChange);
}

componentWillUnmount() {
   //remove listener here
  AppState.removeEventListener('change', this.handleAppStateChange);
}

handleAppStateChange = (nextAppState) => {
  if (nextAppState === 'inactive') {
     //remove listener here
  }    
}

希望这能解决您的问题