React Nativeでフォアグラウンドを検知する

はじめに

アプリがフォアグラウンドにあるタイミングで特定の処理を実施したかった

検証環境

$ react-native -v
react-native-cli: 2.0.1
react-native: 0.67.3

コード

import React from 'react';
import { AppState } from 'react-native';

class App extends React.Component {
  componentDidMount() {
    AppState.addEventListener('change', () => {
      if (AppState.currentState === 'active') {
        // ...フォアグラウントで実施したい処理
      }
    });
}

ちゃんとReactNative側に用意されててよかった...

状態

AppStateStatus トリガー
active アプリがフォアグラウンドに入ったとき。
background アプリがバックグラウンドに入ったとき。
inactive iOSのみ。アプリを開いた状態で通知センターを表示したとき。タスクキルする手前のタスク一覧画面のとき。

着信のときもinactiveになるらしいけど検証してないからわからん。。。
unknownextension はどこで使うねん

参考

reactnative.dev