Я пытаюсь реализовать нативную навигацию в существующем приложении, которое (пока) его не использует.
Я следую этому ответу.
Поскольку у меня уже есть настройка приложения, мне нужно немного адаптировать его процедуру. Моя точка входа:
//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>);
}
}
Когда я запускаю его, на консоли (webstorm) я получаю:
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)
Это из-за цикла, о котором идет речь? В чем проблема, если так? Если нет, в чем моя проблема?