Как установить экран по умолчанию Route в реагировать Навигация по вкладкам в React Native - PullRequest
0 голосов
/ 08 апреля 2019

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

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

 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',

        }),


    },

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

Ответы [ 2 ]

2 голосов
/ 08 апреля 2019

Вы можете добавить 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"
      }
    );
0 голосов
/ 08 апреля 2019

У вас есть 2 экрана с именем dashboard, bottomTabNavigator и экран Dashboard, поэтому при попытке перейти к dashboard реагировать-навигация перейдет на первую вкладку вашего 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',
        }),
    },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...