Приложение React Native зависает на экране-заставке после удаления пакета expo-splash-screen на android. Он зависает даже после повторной установки пакета. Сборка прошла успешно, но приложение не загружает начальный экран. Я использую React Native bare-workflow.
package.json
"dependencies": {
"@ptomasroos/react-native-multi-slider": "^2.2.2",
"@react-native-async-storage/async-storage": "^1.15.4",
"@react-native-community/push-notification-ios": "^1.8.0",
"@react-native-firebase/app": "^12.0.0",
"@react-native-firebase/messaging": "^12.0.0",
"@react-navigation/native": "^5.9.4",
"@react-navigation/stack": "^5.14.5",
"axios": "^0.21.1",
"expo": "~41.0.1",
"expo-app-loading": "^1.0.3",
"expo-av": "^9.1.2",
"expo-constants": "^10.1.3",
"expo-font": "^9.1.0",
"expo-secure-store": "^10.1.0",
"expo-splash-screen": "~0.10.2",
"expo-status-bar": "~1.0.4",
"expo-updates": "~0.5.4",
"expo-web-browser": "^9.1.0",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "~0.63.4",
"react-native-camera": "^3.44.3",
"react-native-circular-progress": "^1.3.7",
"react-native-ffmpeg": "^0.5.1",
"react-native-fs": "^2.18.0",
"react-native-gesture-handler": "~1.10.2",
"react-native-image-picker": "^4.0.4",
"react-native-push-notification": "^7.3.1",
"react-native-reanimated": "~2.1.0",
"react-native-safe-area-context": "3.2.0",
"react-native-screens": "~3.0.0",
"react-native-svg": "^12.1.1",
"react-native-unimodules": "~0.13.3",
"react-native-web": "~0.13.12",
"react-redux": "^7.2.4",
"redux": "^4.1.0",
"rn-fetch-blob": "^0.12.0",
"styled-components": "^5.3.0"
},
пожалуйста, проверьте вашу консоль, там должна отображаться ошибка. Вы удалили пакет, который используется в приложении. вы также должны удалить код заставки. Таким образом не будет заставки и приложение будет работать.
Нет, в консоли не отображается ошибка. Вот почему я не могу отлаживать.
Вы пытались удалить импорт
expo-splash-screen
и соответствующий код?Ни в одном компоненте нет импорта экспо-заставки. Однако экспо-заставка отображается в консоли при выполнении команды npx react-native run-android, например: > Настройка проекта: приложение Установка unimodules: expo-splash-screen@0.11.2
если он показывает заставку, значит, он не полностью удален из проекта. Иногда мое приложение также зависает на заставке, но в консоли отображается ошибка. Возможно, это как-то связано с выставкой, у меня нет опыта работы с выставкой.
Кроме того, когда я возвращаюсь к предыдущей фиксации, где все работало нормально, теперь выдается ошибка Нарушение инварианта: попытка зарегистрировать два представления с одинаковым именем RNCSafeAreaProvider.
Это проблема в React Native. Решается закрытием приложения и повторным открытием. Кроме того, он показывает какую-то другую ошибку (нужно устранить) в консоли, прежде чем несколько раз показывать
Invariant Violation: Tried to register...
.Я попробовал то, что вы сказали. Но это все еще не работает. Вывод консоли: ЖУРНАЛ Запуск "main" с {"rootTag":1} ОШИБКА Нарушение инварианта: попытка зарегистрировать два представления с одинаковым именем RNCSafeAreaProvider ОШИБКА Нарушение инварианта: "main" не зарегистрирован. Это может произойти, если: * Metro (локальный сервер разработки) запускается из неправильной папки. Проверьте, запущено ли Metro, остановите его и перезапустите в текущем проекте. * Модуль не удалось загрузить из-за ошибки, и
AppRegistry.registerComponent
не был вызван.