Как показано ниже, у меня есть 2 стековых навигатора, которые объединяются в BottomTab Navigator. Когда я нажимаю на элемент BottomTab «Сканирование», я попадаю в StackNavigator «QrStack» на экране «Сканирование» с этого экрана I go через процесс на разных страницах, таких как «информация» -> «Вопрос» -> ' Элемент управления «с этой последней страницы связан с другой страницей в BottomTabNavigator, а именно« GPS », когда я затем хочу go вернуться к« Сканированию »« QrStack », который я в конечном итоге на странице« Управление »в« QrStack » «Как я могу сделать так, чтобы при использовании элемента« Сканировать »в BottomTab я всегда попадал на экран« Сканирование »в« QrStack ». на самом деле способ, которым initialRouteName QrStack установлен. С опциональным сбросом состояния или «Сканированием» по умолчанию.
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow
*/
import React from 'react';
import { SafeAreaView,Image, StyleSheet, ScrollView, View, Text, StatusBar, Button, TouchableOpacity,} from 'react-native';
import { Header, LearnMoreLinks, Colors, DebugInstructions, ReloadInstructions,} from 'react-native/Libraries/NewAppScreen';
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import { createBottomTabNavigator } from 'react-navigation-tabs';
import homeScreen from './src/homeScreen';
import ScanScreen from './src/qrScreen';
import locationScreen from './src/locationScreen';
import informationScreen from './src/qrflow/infomationScreen';
import questionScreen from './src/qrflow/questionScreen';
import controlScreen from './src/qrflow/controlScreen';
import Logo from './src/assets/images/header/logo-app-header.png';
import Icon from 'react-native-vector-icons/FontAwesome';
import currentLocationScreen from './src/currentLocationScreen';
const HomeStack = createStackNavigator({
Home: {
screen: homeScreen,
navigationOptions: {
headerTitle: <Image source={Logo} style={{width: 60, height: 60}}/>,
headerStyle: {
backgroundColor: '#7E4338',
},
},
},
});
const QrStack = createStackNavigator({
Scan: {
screen: ScanScreen,
navigationOptions: {
headerTitle: <Image source={Logo} style={{width: 60, height: 60}}/>,
headerStyle: {
backgroundColor: '#7E4338',
},
},
},
Information: {
screen: informationScreen,
navigationOptions:{
headerTitle: <Image source={Logo} style={{width: 60, height: 60}}/>,
headerStyle: {
backgroundColor: '#7E4338',
},
headerTintColor: '#fff',
headerTitleStyle: {
fontWeight: 'bold',
},
}
},
Question: {
screen: questionScreen,
navigationOptions:{
headerTitle: <Image source={Logo} style={{width: 60, height: 60}}/>,
headerStyle: {
backgroundColor: '#7E4338',
},
headerTintColor: '#fff',
headerTitleStyle: {
fontWeight: 'bold',
},
}
},
Control: {
screen: controlScreen,
navigationOptions:{
headerTitle: <Image source={Logo} style={{width: 60, height: 60}}/>,
headerStyle: {
backgroundColor: '#7E4338',
},
}
},
}, {
initialRouteName: 'Scan'
})
const AppNavigator = createBottomTabNavigator({
Home: {
screen: HomeStack,
navigationOptions:({navigation})=>({
tabBarLabel:"Overzicht",
tabBarIcon: ({ tintColor }) => (
< Icon name="home" size={22} color="#000"/>
)
}),
header: null //this will hide the header
},
Location: {
screen: locationScreen,
navigationOptions:({navigation})=>({
tabBarLabel:"Routes",
tabBarIcon: ({ tintColor }) => (
< Icon name="map" size={22} color="#000"/>
)
,
headerTitle: <Image source={Logo} />,
headerStyle: {
backgroundColor: '#7E4338',
},
})
},
Scan: {
screen: QrStack,
navigationOptions:({navigation})=>({
tabBarLabel:"Scan",
tabBarIcon: ({ tintColor }) => (
< Icon name="qrcode" size={22} color="#000"/>
)
,
headerTitle: <Image source={Logo} />,
headerStyle: {
backgroundColor: '#7E4338',
},
})
},
GPS: {
screen: currentLocationScreen,
navigationOptions:({navigation})=>({
tabBarLabel:"GPS",
tabBarIcon: ({ tintColor }) => (
< Icon name="map-marker" size={22} color="#000"/>
)
,
headerTitle: <Image source={Logo} />,
headerStyle: {
backgroundColor: '#7E4338',
},
})
},
},{
initialRouteName: 'Home'
});
export default createAppContainer(AppNavigator);