Мы создаем приложение React Native, которое использует keepx-persist для хранения состояния приложения, включая состояние навигации. Я бы хотел, чтобы это приложение вел себя как родное приложение с точки зрения навигации:
Когда собственное приложение для Android переходит в фоновый режим, оно в конечном итоге останавливается ОС и затем перемещается на передний план, оно возобновляется в Activity, в котором пользователь ранее остановился. Если одно и то же приложение будет убито пользователем (или сбоем), оно откроется в основном мероприятии.
Для приложения RN это означает, что функция reducex-persist должна сохраняться и восстанавливать состояние навигации в компоненте componentWillMount приложения, но только если приложение не было убито пользователем.
Работает следующий код:
componentWillMount() {
if (global.isRelaunch) {
// purge redux-persist navigation state
}
global.isRelaunch = true;
...
Но он выглядит хакерским, и я также не понимаю, почему глобальная область выживает.
Каков правильный способ определить, было ли повторно открыто приложение RN из фона? (в идеале с поддержкой iOS)