Javascript React Native:应用程序关闭时是否有回调函数?

Javascript React Native:应用程序关闭时是否有回调函数?,javascript,react-native,Javascript,React Native,我有一个setInterval,即使你关闭(而不是退出)应用程序,它也会一直运行。我想在我的应用程序关闭或设备处于睡眠状态时调用函数,以便清除设置间隔。AppState是您的朋友!看一看这张照片 因此,在存在setTimeout的组件中,只需要AppState并添加如下事件侦听器: AppState.addEventListener('background', this.handlePutAppToBackground); AppState.addEventListener('inactive'

我有一个setInterval,即使你关闭(而不是退出)应用程序,它也会一直运行。我想在我的应用程序关闭或设备处于睡眠状态时调用函数,以便清除设置间隔。

AppState是您的朋友!看一看这张照片

因此,在存在setTimeout的组件中,只需要AppState并添加如下事件侦听器:

AppState.addEventListener('background', this.handlePutAppToBackground);
AppState.addEventListener('inactive', this.handlePutAppToBackground);

handlePutAppToBackground()现在将成为组件中的一个方法,您可以在其中调用clearTimeout(…)

itinance已关闭。答案实际上是使用

AppState.addEventListener('change', state => {
  if (state === 'active') {
    // do this
  } else if (state === 'background') {
    // do that
  } else if (state === 'inactive') {
    // do that other thing
  }
});

这仅在iOS上,在Android上不起作用这在您关闭应用程序时不会触发,仅在您最小化应用程序或更改appsdocs for AppState时才会触发,不包括关闭应用程序。当您最小化应用程序或更改应用程序时,它会运行
background
状态-处理该应用程序状态。如果“关闭”应用程序,AppState不会触发任何更改