Я думаю, что реальный вопрос в следующем: хотите ли вы вообще сохранить состояние навигации? Вы действительно хотите загрузить последний посещенный экран при запуске приложения, а не первый экран приложения? Я никогда не видел приложение, которое делает это
Другой вопрос, как вы сохраняете свое состояние навигации в режиме редукции. Это был только шаблон при использовании более старых версий реагирования-навигации (v1 и v2, если я правильно помню), но даже тогда это был не самый оптимальный шаблон для сохранения состояния навигации в избыточном ( избыточная интеграция в реагирующей навигации v1 ), не говоря уже о сохранении его при перезагрузках. Навигация - это то, что должно начинаться с sh каждый раз, когда пользователь запускает приложение
. Также читайте о сохранении состояния в текущей версии (v5 - https://reactnavigation.org/docs/state-persistence). Обычно при all
О сохранении состояния: обычно вы сохраняете только долгоживущие вещи, такие как состояние авторизации, токены авторизации, пользовательские настройки, но не некоторые динамические c данные, которые часто отбрасываются. Например, если вы открываете какую-то страницу и извлекаете данные для отображения на этой странице, нет никаких причин сохранять эти данные в AsyncStorage, потому что зачем вам это? Эти данные следует перезагружать при каждом открытии страницы, а не восстанавливать из постоянного состояния. Redux-persist позволяет вносить в белый или черный список различные части состояния
Подводя итог: 1. определите, нужно ли вообще сохранять состояние навигации. Если нет, то проблема решена. 2. Если вы это сделаете, попробуйте настроить redux-persist таким образом, чтобы он не сохранял недолговечные подверженные ошибкам данные. 3. Выясните, как сохраняется состояние навигации (с помощью redux или самостоятельно, см. примеры в ссылках, которые я предоставил ранее) 4. интегрировать response-native-exception-handler , перехватывать исключения и сбрасывать постоянное состояние навигации в случае cra sh