Неопределенный объект с RnGestureHandler при использовании реактивной навигации
Я пытаюсь реализовать встроенную навигацию в существующем приложении, которое (пока) не использует его.
Я слежу за этим ответом.
Поскольку у меня уже есть настройка приложения, мне нужно немного адаптировать его процедуру. Моя точка входа:
//index.js
import {AppRegistry} from 'react-native';
import {createAppContainer, createStackNavigator} from 'react-navigation';
import {name as appName} from './app.json';
import {Config} from './navigation/config'
import App2 from "./navigation/App2";
import BarCodeReader from "./navigation/BarCodeReader";
export const AppNavigator = StackNavigator(Config.navigation);
//I've also tried this instead, similar error:
//export const AppNavigator = createStackNavigator(Config.navigation);
AppRegistry.registerComponent('appName', ()=>AppNavigator);
Линия AppNavigator...., кажется, вызывает ошибку, в соответствии с красным экраном смерти на моем телефоне, когда я запускаю его. Это последняя строка из моего кода, которая упоминается на красном экране смерти.
Мой маршрут:
//config.js
import App2 from './App2'
import BarCodeReader from './BarCodeReader'
export const Config = {
navigation: {
App2: {
screen: App2
},
BarCodeReader: {
screen: BarCodeReader
}
}
};
Моя альтернативная страница для загрузки (например, app2 - я просто стараюсь сделать ее максимально простой, чтобы изолировать ошибку, и чтобы мой фактический код не вызывал неожиданные ошибки...)
//app2.js
import React, {Component} from 'react';
import {Text, View} from 'react-native';
export default class App2 extends Component {
constructor(props){
super(props);
}
render() {
return (
<View>
<Text> Showing stuff from app2
</Text>
</View>);
}
}
Когда я запускаю его, в консоли (веб-шторм) я получаю:
D/ReactNative( 1044): CatalystInstanceImpl.runJSBundle()
D/ReactNative( 1044): ReactInstanceManager.setupReactContext()
D/ReactNative( 1044): CatalystInstanceImpl.initialize()
D/ReactNative( 1044): ReactInstanceManager.attachRootViewToInstance()
W/ReactNativeJS( 1044): Require cycle: node_modules/react-native-gesture-handler/index.js -> node_modules/react-native-gesture-handler/Swipeable.js -> node_modules/react-native-gesture-handler/index.js
W/ReactNativeJS( 1044):
W/ReactNativeJS( 1044): Require cycles are allowed, but can result in
uninitialized values. Consider refactoring to remove the need for a cycle.
W/ReactNativeJS( 1044): Require cycle: node_modules/react-native-gesture-handler/index.js -> node_modules/react-native-gesture-handler/DrawerLayout.js -> node_modules/react-native-gesture-handler/index.js
W/ReactNativeJS( 1044):
W/ReactNativeJS( 1044): Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle.
E/ReactNativeJS( 1044): undefined is not an object (evaluating 'RNGestureHandlerModule.State')
E/ReactNativeJS( 1044): Module AppRegistry is not a registered callable module (calling runApplication)
Это из-за цикла, о котором идет речь? Что за проблема с этим, если так? Если нет, то в чем моя проблема?
0 ответов
Это может быть полезно:
я столкнулся с проблемой -
undefined is not an object (evaluating 'RNGestureHandlerModule.State')
Обходной путь, который исправил мою проблему, заключался в понижении версии реакции-навигации.
в моем случае я сделал из ^3.0.4
в ^2.18.0