react-native - createBottomTabNavigator 隐藏选项卡之一
问题描述
export default createBottomTabNavigator(
{
Overview: {
screen: OverviewStack,
},
Activities: {
screen: ActivityStack,
navigationOptions: {
title: 'Activity',
},
},
Workout: {
screen: WorkoutStack,
navigationOptions: {
title: 'Workout',
},
},
....
.....
我想隐藏其中一个选项卡。我可以评论代码,它会消失,但我仍然希望它在后台运行,但不显示任何选项卡。有办法吗?
解决方案
我使用 React Navigation 5 API 做到了!根据您的要求,其中一个选项卡被渲染和隐藏。
1 - 使用tabBar参数的示例: https ://reactnavigation.org/docs/bottom-tab-navigator#tabbar
2 - 假设您想要处理并隐藏第三个选项卡(即索引 2 处的选项卡),对示例进行以下修改:
@@ -47,7 +47,8 @@ function MyTabBar({ state, descriptors, navigation }) {
testID={options.tabBarTestID}
onPress={onPress}
onLongPress={onLongPress}
- style={{ flex: 1 }}
+ style={{ flex: 1, display: index === 2 ? "none" : "flex" }}
>
<Text style={{ color: isFocused ? '#673ab7' : '#222' }}>
{label}
重要提示:使用 React Navigation 4 API,它必须以几乎相同的方式使用 tabBarComponent属性而不是tabBar属性。
不幸的是,npmjs.com 上不再提供 v4,因此我无法为您提供更多帮助。
推荐阅读
- c++ - g ++没有找到opencv .hpp文件
- php - Laravel 查询从数据库中获取数据很慢
- powershell - Chocolatey Install Arguments Syntax
- filter - 使用带有graphql的magento2中的自定义属性过滤产品会导致错误:字段不是由类型ProductAttributeFilterInput定义的
- css - 如果要打印的页面超过 1 页,Fullcalendar.js V5 调度程序不打印垂直行
- bash - 在 Bash(4) 中使用 namerefs?
- javascript - 如何设置 Material UI Slider 的 valueLabel / tooltip 的初始位置?
- java - Cytoscape:错误 83,没有找到 JRE Windows 10
- html - 如何在 div 的顶部和底部显示两个元素,这是 CSS 中的自动高度
- mysql - 如何获取在 mysql 中使用 [DEFAULT CURRENT_TIMESTAMP] 的表?