Приложение аварийно завершает работу при использовании навигации по стеку после обновления с SDK 49 до 51 в React Native Expo

Я обновил свое приложение React Native Expo с SDK 49 до SDK 51. Поначалу казалось, что все работает нормально. Однако когда я пытаюсь перемещаться с помощью вложенного навигатора стека, приложение вылетает без отображения каких-либо сообщений об ошибках.

Я попытался обновить package.json и получить сообщения об ошибках. все пакеты обновлены, но сообщения не отображаются.

это мой package.json:

{
  "name": "friscohaar",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@emotion/react": "^11.11.1",
    "@emotion/styled": "^11.11.0",
    "@expo/vector-icons": "^14.0.0",
    "@mui/icons-material": "^5.15.6",
    "@mui/material": "^5.14.19",
    "@react-native-community/checkbox": "^0.5.17",
    "@react-native-community/datetimepicker": "^7.7.0",
    "@react-navigation/bottom-tabs": "^6.5.11",
    "@react-navigation/native-stack": "^6.9.17",
    "@react-navigation/stack": "^6.3.20",
    "axios": "^1.6.7",
    "expo": "^51.0.1",
    "expo-blur": "^13.0.2",
    "expo-checkbox": "~3.0.0",
    "expo-image-picker": "~15.0.4",
    "expo-linear-gradient": "~13.0.2",
    "expo-location": "~17.0.1",
    "expo-status-bar": "~1.12.1",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "react": "18.2.0",
    "react-native": "0.74.1",
    "react-native-animatable": "^1.4.0",
    "react-native-calendars": "^1.1304.1",
    "react-native-datepicker": "^1.7.2",
    "react-native-dotenv": "^3.4.10",
    "react-native-elements": "^3.4.3",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-modern-datepicker": "^1.0.0-beta.91",
    "react-native-paper": "^5.11.6",
    "react-native-safe-area-context": "^4.10.1",
    "react-native-screens": "~3.31.1",
    "react-native-size-matters": "^0.4.2",
    "react-native-status-bar-height": "^2.6.0",
    "typescript": "^5.1.3"
  },
  "devDependencies": {
    "@babel/core": "^7.24.0",
    "@types/react-native-modern-datepicker": "^1.0.5",
    "babel-plugin-inline-dotenv": "^1.7.0"
  },
  "private": true
}
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
4
0
1 205
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Спасибо за публикацию~

У меня возникла та же проблема после автоматического обновления Expo Go до версии 51, из-за чего приложение вылетало при использовании navigation.navigate.

Чтобы это исправить, я добавил react-native-reanimated, запустив:

yarn add react-native-reanimated Обязательно установите версию 3.10.0.

Затем я импортировал его в App.js или App.tsx:

import 'react-native-reanimated'

Похоже, что это известная проблема с Expo, но обновление Expo 51 все равно было распространено среди всех пользователей Expo Go. Обсуждение находится по адресу https://github.com/expo/expo/issues/28618

не работает с реагирующей навигацией, выставка выходит из строя

Canonne Gregory 16.05.2024 01:00

Это сработало и для меня. Однако я просто побежал npm i react-native-reanimated. Я использую React Navigation и не следую шаблону _layout.js. Для меня безумие, что они предложили такое критическое изменение всем пользователям 😅💀

Действительно, проблема возникает после обновления exposdk v49.xx->50.00. Как говорит человек выше, все довольно просто:

  • npm/yarl установите реакцию-native-reanimated и:
  • app.js -> импортировать «реагировать-родной-реанимированный»; . Всем хорошего дня

Другие вопросы по теме