在多个堆栈导航器上隐藏多个屏幕中的底部选项卡
AppNavigator
组件,基本上只是底部选项卡,指向多个嵌套堆栈导航器。
appNavigator.js
:
const Tab = createMaterialBottomTabNavigator();
export const AppNavigator = () => {
return (
<Tab.Navigator>
<Tab.Screen name="Search" component={SearchStack} />
<Tab.Screen name="Host" component={HostStack} />
<Tab.Screen name="More" component={MoreStack} />
</Tab.Navigator>
);
};
例如,我的hostsstack.js
:
const Stack = createStackNavigator();
export const HostNavigator = ({ navigation }) => {
return (
<Stack.Navigator>
<Stack.Screen name="First" component={FirstScreen} />
<Stack.Screen name="Second" component={SecondScreen} />
</Stack.Navigator>
);
};
和morestack.js
:
const Stack = createStackNavigator();
export const MoreStack = ({ navigation }) => {
return (
<Stack.Navigator>
<Stack.Screen name="Third" component={ThirdScreen} />
<Stack.Screen name="Fourth" component={FourthScreen} />
</Stack.Navigator>
);
};
我想隐藏底部标签在<<<代码> secondscreen 和第四屏幕
,而在初始屏幕中仍应可见firstScreen
和thirdscreen
。我应该怎么做到这一点? I tried referencing https://reactnavigation.org/docs/hiding-tabbar-in-屏幕/实际上有效,但前提是我有一个嵌套堆栈,而不是我想要的三个。对于其他Stackoverflow问题也是如此,我找不到解决多个堆栈的解决方案。
我正在使用React Navigation 6。
任何帮助都非常感谢!
The AppNavigator
component, which is basically just bottom tabs, points to multiple nested stack navigators.
AppNavigator.js
:
const Tab = createMaterialBottomTabNavigator();
export const AppNavigator = () => {
return (
<Tab.Navigator>
<Tab.Screen name="Search" component={SearchStack} />
<Tab.Screen name="Host" component={HostStack} />
<Tab.Screen name="More" component={MoreStack} />
</Tab.Navigator>
);
};
Here is, for example, my HostStack.js
:
const Stack = createStackNavigator();
export const HostNavigator = ({ navigation }) => {
return (
<Stack.Navigator>
<Stack.Screen name="First" component={FirstScreen} />
<Stack.Screen name="Second" component={SecondScreen} />
</Stack.Navigator>
);
};
And MoreStack.js
:
const Stack = createStackNavigator();
export const MoreStack = ({ navigation }) => {
return (
<Stack.Navigator>
<Stack.Screen name="Third" component={ThirdScreen} />
<Stack.Screen name="Fourth" component={FourthScreen} />
</Stack.Navigator>
);
};
I want to hide bottom tabs navigation in SecondScreen
and FourthScreen
, while it should still be visible in initial screens FirstScreen
and ThirdScreen
. How should I accomplish this? I tried referencing https://reactnavigation.org/docs/hiding-tabbar-in-screens/ and it actually works, but only if I have one nested stack, not three as I would want to. Same for other stackoverflow questions, I haven't been able to find a solution which incoporates multiple stacks.
I am using React Navigation 6.
Any help is really appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
下面的伪代码:
然后,当您在第一屏上时,请调用
navigate('notabbar',{屏幕:second})
,并且标签栏将被隐藏。Pseudocode below:
Then, when you're on FirstScreen, call
navigate('NoTabBar', {screen: Second})
and the tab bar will be hidden.