背景
在构建React Native应用程序并使用React Navigation中的DrawerNavigator
时,我最终需要自定义createDrawerNavigator
附带的header。不过我发现我可以自定义createStackNavigator
。
createStackNavigator
1.可以隐藏标头
1.可以自定义页眉。
createDrawerNavigator
1.无法隐藏标题
1.无法自定义页眉。
问题
如何隐藏或自定义在使用React Navigation中的createDrawerNavigator
时自动添加到应用程序中的标题?
示例
createStackNavigator
- 我可以像这样隐藏使用
createStackNavigator
时出现的标题,*
const Secure = createStackNavigator(
{
Drawer: {
screen: drawer,
},
},
{
initialRouteName: 'Drawer',
headerMode: 'none',
},
);
创建绘图导航
当使用createDrawerNavigator
时,我没有尝试隐藏或自定义头部。我也搜索了文档,找不到任何关于如何在React Native导航版本3中处理createDrawerNavigator
头部的内容。
3条答案
按热度按时间0yycz8jy1#
此代码将帮助自定义抽屉组件的header none。
fd3cxomn2#
就像Kazi说的答案一样,你可以通过headerMode:null对drawerNavigators和stacknavigator隐藏header。这样做的问题是,你最终根本没有header。
因此,如果你想要特定屏幕的标题,在react-native-elements上有一个header组件,你可以将它添加到你想要标题的每个屏幕上。
下面是一个例子:
在这个例子中,我不得不将它 Package 在React.Fragment标签上,因为我将这部分代码放在了render方法的开头。我还添加了一个标题到屏幕和hamburguer按钮来打开抽屉。
所以,基本上我所做的是,隐藏stackNavigators和drawerNavigators上的头文件,然后将组件添加到您确实需要头文件的每个屏幕上。
kq0g1dla3#
React Navigation v6
screenOptions={{headerShown:false}}
最小设置示例: