Search code examples
reactjsreact-nativenavigation-drawerreact-navigationreact-native-tabnavigator

USING DrawerNavigator AND BottomTabNavigator HOW TO PUT DrawerIcon


Im using my main menu with DrawerNavigator. Inside a screen i use BottomTabNavigator.

I put the DrawerIcon of each screen like this:

....
export default class HomeScreen extends React.Component {
...

static navigationOptions = {
    drawerIcon: ({ tintColor }) => (
      <Icon name="home" style={{ fontSize: 24, color: tintColor }} />
    )
  }

...

}

But, in the screen that i use the TabNavigator i dont export a class, y export createBottomNavigator, like so:

class MetasSemanaAnterior extends React.Component {...}

class MetasScreen extends React.Component {...}

export default createBottomTabNavigator({
    MetasMain: MetasScreen,
    MetasAnterior: MetasSemanaAnterior,
});

I dont know where put my navigationOptions of the DrawerNavigator!

Help Please! TY


Solution

  • i solved in this way:

    in the main screen, where i create my Drawer Navigation, i set the DrawerIcon. So that, the icon appear despite i dont set it in the child Screens

    set DrawerIcon where you create the DrawerMenu:

        const AppDrawerNavigator = createDrawerNavigator({
          ChatBot: {
            screen: HomeScreen
          },
          Profile: {
            screen: ProfileScreen
          },
          METAS: {
            screen: MetasScreen,
            navigationOptions: {
    //here i set the drawerIcon
              drawerIcon: ({ tintColor }) => { return (<Icon name="flag" style={{ fontSize: 24 }} />) }
            }
          }
        }