Reactjs 在一个页面上隐藏底部选项卡导航

Reactjs 在一个页面上隐藏底部选项卡导航,reactjs,react-native,expo,Reactjs,React Native,Expo,如果你帮助我,我会很高兴的。我正在制作一款具有本地反应的移动应用程序。在这个应用程序中,我使用的是react导航。我有一个app.js文件,其中包含底部选项卡导航的代码-home.js。在home.js中,我有两个类。一级为主要,二级为按钮导航。我想在导航到第二页(第二类)时隐藏底部选项卡导航。我尝试了tabBarVisible:false,但这不起作用。请帮帮我。代码: //app.js const TabNavigator=createBottomTabNavigator({ 主页:{ 屏

如果你帮助我,我会很高兴的。我正在制作一款具有本地反应的移动应用程序。在这个应用程序中,我使用的是react导航。我有一个app.js文件,其中包含底部选项卡导航的代码-home.js。在home.js中,我有两个类。一级为主要,二级为按钮导航。我想在导航到第二页(第二类)时隐藏底部选项卡导航。我尝试了tabBarVisible:false,但这不起作用。请帮帮我。代码:

//app.js
const TabNavigator=createBottomTabNavigator({
主页:{
屏幕:主页,
导航选项:{
tabBarLabel:“Гаааааа”,
tabBarIcon:({tintColor})=>(
)
}
},
课程:{
屏幕:课程,
导航选项:{
tabBarLabel:“课程”,
tabBarIcon:({tintColor})=>(
)
}
},
编辑:{
屏幕:编辑,
导航选项:{
tabBarLabel:“编辑器”,
tabBarIcon:({tintColor})=>(
)
}
},
},{
选项卡选项:{
activeTintColor:“#db0202”,
颜色:灰色,
风格:{
字体大小:3,
身高:45,
背景颜色:'白色',
borderTopWidth:0,
立面图:5
}
}
});

导出默认createAppContainer(TabNavigator)
我给你举了一个简单的例子,其中有3个选项卡,第三个选项卡有另一个堆栈,比如
createMaterialTopTabNavigator

export const FooterStack=createBottomTabNavigator(
{
第一:{
屏幕:第一屏
},
第二:{
屏幕:第二屏幕
},
第三:{
屏幕:ChildStack,
导航选项:({navigation:{state:{index}}})=>({
tabBarVisible:index==0 | | index==1//这里有个神奇的地方,你只需要在不想显示CreateBoottomTabNavigator栏的地方传递索引
})
}
}
)
这是一份工作零食:

这里的关键是这个函数,
getActiveRoute
,它递归地搜索当前活动路由的名称,这在嵌套导航器的情况下是必需的:

const getActiveRoute=route=>{
如果(!route.routes | | route.routes.length==0 | | route.index>=route.routes.length){
返回route.routeName;
}
const childActiveRoute=route.routes[route.index];
返回getActiveRoute(childActiveRoute);
}
选项卡导航器中的用法:

const TabNavigator=createBottomTabNavigator(
{
主页:{
屏幕:主页,
导航选项:({navigation})=>({
tabBarLabel:“主页”,
tabBarVisible:getActiveRoute(navigation.state)!=='Articles'
})
},
//…其他屏幕
},
{
//…导航器选项
}
);

我不太熟悉
反应导航
。如果没有人回答你,我可以试着帮助你(我对rn+expo有一些经验),如果你能为此创建一个新的解决方案。@Mosh-Feu-ohh是的,谢谢。我已经问过这个问题了,没有人帮我。我将创建零食。我希望我能帮助:)@Mosh-Feu-类/函数有错误。我不知道如何解决它,因为当我在编辑器中运行时,一切正常。但这就是代码(我只添加了最重要的内容)。非常感谢你的帮助!!!您是否尝试过在要隐藏选项卡栏的组件的
静态
导航选项中设置
选项卡栏可见