Search code examples
javascriptreactjsreact-nativereact-native-navigation

How to hide bottom navigation bar on a specific screen in react native?


I am using React Native and React Native Navigation to build out my application. Currently, I have three bottom tabs: Home, Upload Video and Messages. Upon selection of the Upload Video tab, I want to render the Upload Video component and hide the bottom tabs on just that screen, and display a header with 'Cancel' (takes them back to the HomeView) and 'Post' buttons (this has already been done). I've had an extremely difficult time hiding the tab bar on this specific screen.

I tried following the code here (How can I hide the bottom tab bar on a specific screen (react-navigation 3.x)); however, that ended up being unsuccessful and I was not able to hide the bottom tabs on any of the screens this way.

Currently, I have this as my bottom navigator:

const BottomTabNavigator = createBottomTabNavigator({
    HomeView: {
        screen: HomeView,
    },
    VideoView: {
        screen: VideoSelectionView
    },
    Messages: {
        screen: SearchView
    }
});

Any insight would be extremely helpful, thanks.


Solution

  • You need to specify for each TabBar screen or stack for which you need to hide tabbar,

    const BottomTabNavigator = createBottomTabNavigator({
        HomeView: {
            screen: HomeView,
            navigationOptions:()=>{
              return {
                tabBarVisible:false,
              };
           }
        },
        VideoView: {
            screen: VideoSelectionView
        },
        Messages: {
            screen: SearchView
        }
    });