Вернитесь к InitialRouteName для createStackNavigator - PullRequest
0 голосов
/ 10 января 2020

Как показано ниже, у меня есть 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...