android - react 导航 : how to detect if a screen is inside a TabNavigator or a DrawerNavigator?

标签 android ios react-native react-navigation

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

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

如果屏幕在标签导航器内,我需要隐藏打开抽屉的导航栏图标,并且仅当在抽屉导航器内时才显示

有办法吗?

最佳答案

我找到了这个解决方案

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

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 ..

关于android - react 导航 : how to detect if a screen is inside a TabNavigator or a DrawerNavigator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54712849/

相关文章:

ios - 通过外键 (API) 保存/检索数据

javascript - 在无效的情况下 react native 时刻格式化日期

ios - 运行 react-native run-ios 时出错

android - 我可以从 UI 线程以外的不同线程访问 android 小部件引用吗?

android - 如何为布局设置不同的主题

ios - 方法不覆盖其父类(super class)中的任何方法 : Swift/UITableViewController/MapKit

ios - EXC_BAD_ACCESS,代码 1,iOS 7.0.x 64 位设备

react-native - 每 30 秒后安排后台任务 - react-native

java - 如何将接收到的数据存储在数组中?

java - 布局 xml 中的资源,但编译器错误为 "not found"