Я использую React-Navigation для моего чистого RN 0.61.2 приложения. Приложение отлично работает, когда я использую его в режиме отладки. Тем не менее, в режиме Release, когда я пытаюсь открыть меню Навигация по ящику или прокрутить вниз в меню Tab , приложение сразу падает.
Зависимости:
...
"dependencies": {
"@react-native-community/async-storage": "^1.6.2",
"@react-native-community/netinfo": "^4.4.0",
"@react-native-community/slider": "^2.0.2",
"react": "16.9.0",
"react-native": "0.61.2",
"react-native-admob": "^2.0.0-beta.6",
"react-native-gesture-handler": "^1.4.1",
"react-native-reanimated": "^1.3.0",
"react-native-screens": "1.0.0-alpha.23",
"react-native-vector-icons": "^6.6.0",
"react-navigation": "^4.0.10",
"react-navigation-drawer": "^2.2.2",
"react-navigation-stack": "^1.9.3",
"react-navigation-tabs": "^2.5.5"
},
...
Я уже добавил эти строки кода в зависимости android/app/build.gradle
:
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
В App.js я попытался
import {enableScreens} from 'react-native-screen';
enableScreens();
, а также
import {useScreens} from 'react-native-screen';
useScreens();
с 2.0.0-alpha.1
, 2.0.0-alpha.3
и 1.0.0-alpha.23
версиями react-native-screens
.
И все же я получаю тот же результат: режим отладки работает идеально, выпускрежим резко падает после прокрутки навигации по ящику или прокрутки навигации по вкладкам.
РЕШЕНИЕ Я использовал adb logcat
и увидел это:
ReactNativeJS: Invariant Violation: Unsupported top level event type "onGestureHandlerStateChange" dispatched
Я гуглил его и обнаружил, что некоторые парни исправили это, импортировав «response-native-жест-обработчик» в верхней части файла app.js. Итак, я добавил:
import 'react-native-gesture-handler'
и теперь он работает отлично!