在某些屏幕中隐藏底部标签

问题描述 投票:0回答:1

我使用从'react-navigation-tabs'导入的底部标签导航器

import { createBottomTabNavigator } from 'react-navigation-tabs';

const AppNavigator = createBottomTabNavigator({
  Homepage: {
    screen: Screen1
  },
  Screen2: {
    screen: Screen2
  }
} , {
  initialRouteName:"Screen1"
});

屏幕1是堆栈导航器

const AppNavigator = createStackNavigator({
    Homepage: {
      screen: Screen1,
    },
    Screen2: {
        screen: Screen2
    }
} , {
    initialRouteName : "Homepage",
    headerMode:"none",
    navigationOptions: ({ navigation }) => ({
        tabBarVisible: navigation.state.routes[navigation.state.index].routeName === 'Screen2' ? false : true
    })
});

经过一些研究,我发现了以下解决方案,但没有用

navigationOptions: ({ navigation }) => ({
        tabBarVisible: navigation.state.routes[navigation.state.index].routeName === 'Screen2' ? false : true
    })

这是一个坏消息,因为即使将其隐藏在所有屏幕上,下面的代码也无法正常工作

navigationOptions: ({ navigation }) => ({
        tabBarVisible: false
    })

选项卡始终可见,经过大量研究并尝试了数十种解决方案

reactjs react-native react-navigation react-native-tabnavigator
1个回答
0
投票

[在创建底部选项卡导航器而不是堆栈导航器时尝试这样:

const AppNavigator = createBottomTabNavigator({
  Homepage: {
    screen: Screen1,
    navigationOptions:()=>{
       return {
         tabBarVisible:false,
       };
    }
  },
  Screen2: {
    screen: Screen2
  }
} , {
  initialRouteName:"Screen1"
});
© www.soinside.com 2019 - 2024. All rights reserved.