导出默认类App扩展了React.Component { render(){
Traceback (most recent call last):
File "picam.py", line 8, in <module>
import socketserver
ImportError: No module named socketserver
}
return(
<MyApp />
);
return(
<Navigation />
);
欢迎:{ 屏幕:启动画面 navigationOptions:{ 标头:null } }, 登录: { 屏幕:Requesterlogin, navigationOptions:{ 标题:“登录”, headerTitleStyle:{ alignSelf:“居中”, textAlign:“居中”, 宽度:“ 77%” }, headerStyle:{ backgroundColor:“#095473” }, headerTintColor:“白色” } }
忘记了:{ 屏幕:忘记了, navigationOptions:{ 标题:“忘记密码”, headerTitleStyle:{ alignSelf:“居中”, textAlign:“居中”, 宽度:“ 77%” }, headerStyle:{ backgroundColor:“#095473” }, headerTintColor:“白色” } } });
const Navigation = createStackNavigator({
{ 主页:{ 屏幕:Reqlogin, navigationOptions:{ 抽屉标签:“首页”, 抽屉图标:()=>(
const MyApp = DrawerNavigator(
} );
在上面的代码中,我使用了两个用于导航的导航CreateStack导航。 用于Myapp的抽屉导航器。但就我而言,只有Myapp在起作用。请提供一些想法,以使两者都能正常工作。谢谢。
答案 0 :(得分:0)
您似乎正在尝试实施身份验证流程。您应该使用createSwitchNavigator并在其中嵌套其他导航器。 SwitchNavigator可以帮助您进行身份验证流程,因为它可以处理诸如确保您无法使用“后退”按钮从“登录”屏幕跳至主应用程序的操作。
这个想法是,您将有一个SwitchNavigator
作为父导航器,它具有两个流程:用户是否登录。子导航器类似于Auth
和Main
。如果用户未登录,则活动导航器将是Auth
,它本身就是StackNavigator
。如果用户已登录,则活动导航器将是一个DrawerNavigator
,其中堆叠了StackNavigator
。
import { createSwitchNavigator, createStackNavigator, createDrawerNavigator } from 'react-navigation';
const App = createDrawerNavigator({ AppStack: AppStack });
const AppStack = createStackNavigator({
Home: { screen: Reqlogin },
Profile: { screen: Profile_Requester }
});
const Auth = createStackNavigator({
Welcome: { screen: Splash },
Login: { screen: Requesterlogin },
Forgot: { screen: Forgot }
});
export default createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen, // You'll check whether user is logged in or not here
App: AppStack,
Auth: AuthStack,
},
{
initialRouteName: 'AuthLoading',
}
);
要获取更多帮助,请访问this documentation和this article。