React-native 中的生命周期管理

Lifecycle Management in React-native

在 Ios 模拟器中使用 Swipe 退出应用程序时的生命周期是多少?我试图记录每个生命周期,但什么也没发生。我想在应用程序退出时执行特定功能,但我不确定该怎么做。有没有人和我有过类似的问题?

无法检测应用是否正在关闭,但您可以使用 AppState 检查应用是否在后台。

在您的父组件中,添加:

import { AppState } from 'react-native';

...

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

...

_handleAppStateChange = (nextAppState) => {
    //based of nextAppState, do what you need
}

来源:https://facebook.github.io/react-native/docs/appstate

在iOSAppDelegate.swift

func applicationWillTerminate(_ application: UIApplication) {
    // get your shared RCTView
    sharedRCTView.appProperties = [..., "isTerminate": true];
}

在 React-Native 组件中

static getDerivedStateFromProps(nextProps, prevState){
   if(nextProps.isTerminate!==prevState.isTerminate){
     // Do your stuff
     return { someState: nextProps.isTerminate};
  }
  else return null;
}