我正在尝试隐藏应用程序上特定页面的整个选项卡栏。 我也尝试将其隐藏在路由上和容器内。 但是,这没有用。我可以在这两种情况下隐藏标题导航栏,但它不起作用 对于选项卡栏。 以下是我的尝试代码:
<Scene
key="showBarcodeScanner"
hideNavBar
hideTabBar
{...DefaultProps.navbarProps}
iosStatusbar="light-content"
component={BarcodeScan}
/>
以下方法也不起作用
static navigationOptions = ({ navigation }) => ({
header: null,
tabBarVisible: false
});
我检查了源代码,有一个隐藏选项卡的逻辑(虽然没有深入)。
if (navigationParams.hideTabBar != null) {
if (navigationParams.hideTabBar) {
res.tabBarVisible = false;
}
} else if (hideTabBar) {
res.tabBarVisible = false;
}
我错过了什么吗?还有其他方法可以隐藏特定页面的标签栏吗?
请参阅 React Native Router 的 Readme。
Actions.refresh({key: 'showBarcodeScanner', hideNavBar: true, hideTabBar: true});
希望有帮助,你可以输入任何你想刷新的参数。
经过一番研究,我找到了解决方案。
我想要隐藏的场景位于路线中选项卡下的堆栈内。 如果不重新调整导航器,下面的代码将无法根据官方源代码工作: 反应导航
tabBarVisible: false
我刚刚在选项卡上方创建了一个新堆栈,问题就解决了。
对于那些使用reactnavite expo的人来说,这可能很有用
<Tabs>
<Tabs.Screen
name="index"
options={{
href: null,
}}
/>
</Tabs>