React Navigation:如何检测屏幕是否在TabNavigator或DrawerNavigator内部?

时间:2019-02-15 15:55:33

标签: android ios react-native react-navigation

我正在创建一个演示应用程序,要求在ios应用程序上必须使用选项卡,而在Android上必须使用抽屉。

没问题,我同时创建了配置和实时应用,并将与抽屉相关的配置和与选项卡相关的配置添加到了每个屏幕。

我需要隐藏导航栏图标,如果屏幕在选项卡导航器内部,则该图标会打开抽屉,并且仅在抽屉式导航器内部时显示

有办法吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

如果找到更好的方法,请发表您的答案

export default class Contacts extends React.Component {

  static navigationOptions = ({ navigation }) => {

    return {
      title: 'Contacts',
      headerLeft: navigation.actions.toggleDrawer
        ? (<MaterialIcons name="menu" size={24}
          style={{ color: colors.grey, marginLeft: 10 }}
          onPress={() => navigation.dispatch(DrawerActions.toggleDrawer())}
        />)
        : null,
    };
  }

  ... rest of component code ..