Как сделать экран из tabBarNavigator невидимым на TabBar? - PullRequest
0 голосов
/ 22 ноября 2018

Я использую реагирующую навигацию версии 3.х.Как сделать экран из tabBarNavigator невидимым на TabBar?

Мне нужно удалить основной экран из tabBar (он должен быть невидимым), но TabBar должен быть на главном экране.

Моя структура экрана следующая:

const AppStackNavigator = createStackNavigator({
    loginFlow: { 
      screen: createStackNavigator({
        intro: { screen: Intro },
        login: { screen: Login },
        registration: { screen: Registration }
      })
    },
    mainFlow: {
      screen: createStackNavigator({

        // settings: { screen: SettingsScreen },
        someTab: { 
          screen: createBottomTabNavigator({
            main: { screen: Home },
            Tab1: { screen: Tab1 },
            Tab2: { screen: Tab2 },
            Tab3: { screen: Tab3 },
            Tab4: { screen: ChatMain }
          })
        }
      })
    }
  });

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

На самом деле я просто использовал свой собственный компонент TabBar.просто нужно использовать tabBarComponent свойства.

0 голосов
/ 23 ноября 2018

Ваш вопрос странно сформулирован, но я дам вам ответы на обе мои интерпретации:

Если вы хотите удалить экран из панели вкладок, просто закомментируйте его:

// main: { screen: Home },

Если вы хотите, чтобы основной экран находился в том же стеке, что и остальная часть панели вкладок, но не хотите, чтобы он отображался на панели вкладок, вы можете поместить его в switchNavigator:

mainFlow: {
  screen: createStackNavigator({
    // settings: { screen: SettingsScreen },
    someSwitch: createSwitchNavigator({
      main: { screen: Home },
      someTab: { 
        screen: createBottomTabNavigator({
          Tab1: { screen: Tab1 },
          Tab2: { screen: Tab2 },
          Tab3: { screen: Tab3 },
          Tab4: { screen: ChatMain }
        })
      }
    })
  })
}
...