javascript - 如何在 stackNavigator react 导航内的屏幕中隐藏底部栏

标签 javascript reactjs react-native react-navigation

我有一个简单的createBottomTabNavigator,其中一个选项卡是createStackNavigator,在这个stack内,我有一个屏幕,我希望它重叠标签栏。我尝试在此屏幕上使用 tabBarVisible: false 但没有运气。

代码:

const BookingsStack = createStackNavigator({
  Commutes: {
    screen: Commutes,
    navigationOptions: {
      title: "Commutes",
      header: null,
    }
  },
  Tickets: {
    screen: Tickets,
    navigationOptions: {
      title: "Tickets",
      header: null,
      tabBarVisible: false
    }
  }
});

export const MainNav = createBottomTabNavigator({
  Current: {
    screen: Current,
    navigationOptions: {
      title: "Current",
      tabBarIcon: ({ tintColor }) => (
        <IconIO name="ios-bus" size={scale(20)} color={tintColor} />
      )
    }
  },
  BookingsStack: {
    screen: BookingsStack,
    navigationOptions: {
      title: "Commutes",
      tabBarIcon: ({ tintColor }) => (
        <IconSL name="layers" size={scale(20)} color={tintColor} />
      )
    }
  }
}

最佳答案

如导航文档中所示:

如果我们想在从 feed 主页导航到详细信息屏幕时隐藏标签栏而不需要随机排列导航器,则无法在 navigationOptions 中设置 tabBarVisible: false 配置在 DetailsS​​creen 上,因为这些选项仅适用于 FeedStack。相反,我们可以执行以下操作:

 const FeedStack = createStackNavigator({   FeedHome: FeedScreen,  
     Details: DetailsScreen, });

     FeedStack.navigationOptions = ({ navigation }) => {   let
    tabBarVisible = true;   if (navigation.state.index > 0) {
         tabBarVisible = false;   }

       return {
         tabBarVisible,
   }; };

关于javascript - 如何在 stackNavigator react 导航内的屏幕中隐藏底部栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53407743/

相关文章:

javascript - 为什么我的 JavaScript If 语句不起作用?

javascript - 为什么 JavaScript 函数需要关键字 "async"? "await"关键字还不够吗?

reactjs - 引用错误: Cannot access 'todos' before initialization App, react js

javascript - Angularjs 监视父作用域的变化

javascript - jquery 用户界面 :window resizable

reactjs - .htaccess - 两个 React 应用程序之间的重定向

javascript - React 不会在 Safari 或 IE 或任何移动网络浏览器中加载图像

ios - 未找到 FBSDKShareKit/FBSDKShareKit.h 文件

android - React Native - 调用 AppRegistry.runApplication 时出错

javascript - 如何将时刻日期转换为字符串并删除时刻对象