javascript - 反应原生嵌套导航问题
问题描述
我将堆栈导航器保存在抽屉导航器上。
我有2个问题。
- 打开应用程序时,菜单不应出现在页面上。
- 我在注册时使用的组件名称不应该出现在我稍后引导的页面上。
我无法解决这个问题。你能帮助我吗?
const Stack = createStackNavigator();
const Drawer = createDrawerNavigator();
function Menu() {
return (
<Stack.Navigator headerMode="none" lazy={false}>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Login" component={LoginScreen} />
<Stack.Screen name="Verify" component={VerifyScreen} />
<Stack.Screen name="Tarih" component={Datepicker} options={{
animationEnabled: false,
}} />
<Stack.Screen name="Otel" component={SearchedHotel} options={{
animationEnabled: false,
}} />
<Stack.Screen name="Bölge" component={Regions} options={{
animationEnabled: false,
}} />
<Stack.Screen name="Web" component={OtelScanner} options={{
animationEnabled: false,
}} />
</Stack.Navigator>
);
}
function Routing(props) {
return (
<React.Fragment>
<IconRegistry icons={EvaIconsPack} />
<ApplicationProvider mapping={mapping} theme={lightTheme}>
<NavigationContainer>
<Drawer.Navigator>
<Drawer.Screen name="Login" component={LoginScreen} />
<Drawer.Screen name="Menu" component={Menu} />
</Drawer.Navigator>
</NavigationContainer>
</ApplicationProvider>
</React.Fragment >
);
}
解决方案
在里面<NavigationContainer />
你应该有一个<StackNavigator />
而不是<DrawerNavigator />
例子:
NavigationContainer
<NavigationContainer>
<Stack.Navigator initialRouteName="Login">
<Stack.Screen name="Login" component={LoginScreen} />
<Stack.Screen name="Menu" component={Menu} />
</Stack.Navigator>
</NavigationContainer>
例子:Menu
function Menu() {
return (
<Drawer.Navigator headerMode="none" lazy={false}>
<Drawer.Screen name="Home" component={HomeScreen} />
<Drawer.Screen name="Login" component={LoginScreen} />
<Drawer.Screen name="Verify" component={VerifyScreen} />
<Drawer.Screen name="Tarih" component={Datepicker} options={{
animationEnabled: false,
}} />
<Drawer.Screen name="Otel" component={SearchedHotel} options={{
animationEnabled: false,
}} />
<Drawer.Screen name="Bölge" component={Regions} options={{
animationEnabled: false,
}} />
<Drawer.Screen name="Web" component={OtelScanner} options={{
animationEnabled: false,
}} />
</Drawer.Navigator>
);
}
推荐阅读
- r - 根据条件过滤数据
- python - 函数返回语句中的字符串连接与逗号
- swift - 关闭深色模式后,如何将黑色设置为标签背景色?
- javascript - 如何选择和使用 srcset 属性的值?
- python - itertools.chain.from_iterable 适用于嵌套数字列表但不适用于字符串列表?
- node.js - Nodemailer 使用 gmail 帐户发送邮件,显示响应代码 534-5.7.14
- angular - 如何使用组件 TinyMCE init 父级的函数
- c# - 有或没有自动属性的对象反序列化的差异
- python - 应用双 lambda 函数的性能问题
- jenkins - 在 Jenkins 中使用 groovy 复制子文件夹