а) Пользователь переходит к некоторому экрану B в приложении. Фоны приложения.
б) Пользователь открывает приложение -> приложение всегда открывается в initialRouteName (Загрузка -> первый экран в Tab Navigator «Экран A»). Это неожиданно, поскольку ранее использовалось на экране B.
Аналогично, при открытии приложения из уведомления вызывается маршрут загрузки, который затем перенаправляет на первый экран TabNavigator. Я думаю, что я мог бы сохранить историю навигации, а затем проверить предыдущее состояние экрана при открытии с переднего плана на экране «Загрузка». В случае уведомлений я мог бы сохранить параметры уведомлений, а затем вытащить параметры уведомлений из хранилища, чтобы направить пользователя на эту конкретную страницу. Это кажется очень громоздким, и мне интересно, есть ли лучший способ.
//Navigator
const SwitchNavigator = createSwitchNavigator(
{
TabNavigator,
Auth,
Loading
},
{
initialRouteName: "Loading"
}
);
//Loading.js
componentDidMount() {
signedIn ? this.props.navigation.navigate(TabNavigator)
: this.props.navigation.navigate(Auth)
}