react-native - 如何使用 DrawerNavigation 在 React Native 中实现注销
问题描述
我有一点问题。我正在尝试在 React 本机中从 Stacknavigator 实现注销。我在网上搜索过,但没有看到任何可以从中学习一两件事的好资源。
我的源代码App.js
看起来有点像这样。
import React, { Component } from 'react';
import { Platform, StyleSheet, Text, View , Image, TextInput, TouchableOpacity,Alert } from 'react-native';
import {createAppContainer, createSwitchNavigator} from 'react-navigation';
import {createStackNavigator} from 'react-navigation-stack';
import {createDrawerNavigator} from 'react-navigation-drawer';
import Icon from 'react-native-vector-icons/SimpleLineIcons';
import Splash from './src/Splash';
import Dashboard from './src/Dashboard';
import DubaiVisaRequest from './src/DubaiVisaRequest';
import HotelReserveRequest from './src/HotelReserveRequest';
import Login from './src/Login';
const DashboardNavigator = createStackNavigator({
'Dashboard':{screen: Dashboard,
navigationOptions: ({navigation}) => ({
headerLeft: () => (
<TouchableOpacity
style={{marginLeft: 20}}
onPress={() => navigation.toggleDrawer()}>
<Icon name="menu" size={12} /></TouchableOpacity>
)})
},
});
const DubaiVisaReqNavigator = createStackNavigator({
'Dubai Visa Request':{screen: DubaiVisaRequest,
navigationOptions: ({navigation}) => ({
headerLeft: () => (
<TouchableOpacity
style={{marginLeft: 20}}
onPress={() => navigation.toggleDrawer()}>
<Icon name="menu" size={12} /></TouchableOpacity>
)})
},
});
const HotelReqNavigator = createStackNavigator({
'Hotel Reservation':{screen: HotelReserveRequest,
navigationOptions: ({navigation}) => ({
headerLeft: () => (
<TouchableOpacity
style={{marginLeft: 20}}
onPress={() => navigation.toggleDrawer()}>
<Icon name="menu" size={12} /></TouchableOpacity>
)})
},
});
const DrawerNavigator = createDrawerNavigator({
Dashboard:{
navigationOptions:{
drawerLabel: 'Dashboard',
},
screen: DashboardNavigator,
},
DubaiVisaRequest:{
navigationOptions:{
drawerLabel: 'Dubai Visas',
},
screen: DubaiVisaReqNavigator,
},
HotelReserveRequest:{
navigationOptions:{
drawerLabel: 'Request Hotel',
},
screen: HotelReqNavigator,
},
});
const AppSwitchNavigator = createSwitchNavigator({
'Splash' : {screen: Splash},
'Login' : {screen : Login},
'Drawer' : {screen: DrawerNavigator}
},
{
initialRouteName: 'Splash'
})
const App = createAppContainer(AppSwitchNavigator);
export default App;
请我想知道如何实现注销,我尝试过这样的事情
const LogoutNavigator = createStackNavigator({
'Hotel Reservation':{screen: Login,
navigationOptions: ({navigation}) => ({
headerLeft: () => (
<TouchableOpacity
style={{marginLeft: 20}}
onPress={() => navigation.navigate('Login')}>
<Icon name="menu" size={12} /></TouchableOpacity>
)})
},
});
但这并不像我预期的那样工作。请协助。我对 React native 有点陌生。
解决方案
推荐阅读
- jenkins - 如果新的 PR 版本可用,则跳过并中止 Jenkins 构建
- python - 如何在下面将这个 for 循环矢量化,我需要将值设置为需要舍入的范围?
- python - 从常规数据框中将列添加到日期时间索引数据框
- python - 如何消除列表中的重复坐标?
- asp.net-core-3.0 - FastReport.OpenSource.Web 支持.Net Core 3.0?
- asp.net - 应用程序中的服务器错误:无法创建 ActiveX 组件
- angular - 有没有办法用 async/await native 编写函数?
- javascript - 当函数应该修改新数组时,角度原始对象数组被修改
- git - 将单独的项目推入更大的团队仓库
- python - while循环崩溃中的多个python附加函数