Как установить экранный маршрут по умолчанию в React Tab Navigation в React Native

Я хочу загрузить панель управления, чтобы она была активной вкладкой в ​​ответной нижней вкладке Native. Навигация всякий раз, когда загружается панель инструментов, но всякий раз, когда я перехожу на панель инструментов, она перемещается на экран входящих сообщений, который является первым элементом в моей реакции на навигацию по нижней вкладке. Есть ли способ создать экран по умолчанию всякий раз, когда используются нижние вкладки экрана?

Код, который я использую для нижней навигации,

 dashboard: {
        screen: createBottomTabNavigator({
            inbox: {
                screen: Chat,
                navigationOptions: ({ navigation }) => ({
                    title: 'Inbox',
                }),
            },
            favourite: {
                screen: Favourite,
                navigationOptions: ({ navigation }) => ({
                    title: 'Favourite',
                }),
            },
            dashboard: {
                screen: Dashboard,
                navigationOptions: ({ navigation }) => ({
                    title: 'Home',
                    initialRouteName: 'dashboard'
                }),
            },
            setting: {
                screen: SettingScreen,
                navigationOptions: ({ navigation }) => ({
                    title: 'Setting',
                }),
            },
            survey: {
                screen: NutritionistSurvey,
                navigationOptions: ({ navigation }) => ({
                    title: 'Survey',
                }),
            },
        }),
        navigationOptions: ({ navigation }) => ({
            title: 'Dashboard',

        }),


    },

Несмотря на то, что навигация работает совершенно нормально, мне просто нужен способ загрузки экрана панели инструментов всякий раз, когда пользователь переходит на панель инструментов.

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
9
0
12 202
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

У вас есть 2 экрана с названием «панель инструментов», bottomTabNavigator и экран панели инструментов, поэтому, когда вы пытаетесь перейти к панель приборов, реагирующая навигация перейдет на первую вкладку вашего bottomTabNavigator.

Переименуйте bottomTabNavigator, и он должен работать:

 dashboardTabs: {
        screen: createBottomTabNavigator({
            inbox: {
                screen: Chat,
                navigationOptions: ({ navigation }) => ({
                    title: 'Inbox',
                }),
            },
            favourite: {
                screen: Favourite,
                navigationOptions: ({ navigation }) => ({
                    title: 'Favourite',
                }),
            },
            dashboard: {
                screen: Dashboard,
                navigationOptions: ({ navigation }) => ({
                    title: 'Home',
                    initialRouteName: 'dashboard'
                }),
            },
            setting: {
                screen: SettingScreen,
                navigationOptions: ({ navigation }) => ({
                    title: 'Setting',
                }),
            },
            survey: {
                screen: NutritionistSurvey,
                navigationOptions: ({ navigation }) => ({
                    title: 'Survey',
                }),
            },
        }),
        navigationOptions: ({ navigation }) => ({
            title: 'Dashboard',
        }),
    },
Ответ принят как подходящий

Вы можете добавить initialRouteName в createBottomTabNavigator, я решу вашу проблему

 const MyApp = createBottomTabNavigator(
      {
        Inbox: {
          screen: Chat,
          navigationOptions: ({ navigation }) => ({
            title: "Inbox"
          })
        },
        Favourite: {
          screen: Favourite,
          navigationOptions: ({ navigation }) => ({
            title: "Favourite"
          })
        },
        Dashboard: {
          screen: Dashboard,
          navigationOptions: ({ navigation }) => ({
            title: "Home"
          })
        }
      },
      {
        initialRouteName: "Dashboard"
      }
    );

Это решило мою проблему Спасибо

theCoder 08.04.2019 12:41

Для тех, кто столкнулся с этой проблемой в 2022 году, версия 6.x React Navigation, правильный способ — указать реквизит initalRouteName в компоненте Navigator. Ссылка на документы

Другие вопросы по теме