【问题标题】:React Native DrawerNavigator in Stack navigator is not working堆栈导航器中的 React Native DrawerNavigator 不起作用
【发布时间】:2018-01-10 05:42:44
【问题描述】:

我在使用带有抽屉导航的堆栈导航等反应导航时遇到问题

const Drawerstack = DrawerNavigator({
	updatesegregation : { screen: UpdateSegregation },
  listoffers : { screen: ListOffers },
  mypurse : { screen: MyPurse },
  myoffers : { screen: MyOffers },
  segregationhistory : { screen: SegregationHistory },
  ranking : { screen: Ranking },
  updates : { screen: Blogs },
  contactus : { screen: ContactUs },
  termsandconditions : { screen: TermsAndConditions },
  instruction : { screen: Instructions },
  profile : { screen: Profile },
  segregationtips : { screen: SegregationTips },
  faqs : {screen: Faqs },
},{
	contentComponent: NavigationDrawer,
})

const Index = StackNavigator({
  authcheck : { screen: AuthCheck },
  login: { screen: Login },
  registration : { screen: Registration },
  profileedit : { screen: ProfileEdit },
  socialregistration : { screen: SocialRegistration },
  forgotpassword : { screen: ForgotPassword },
  drawerstack: { screen: Drawerstack },
},
 {
    headerMode: 'none'
});

export default Index;

根页面是 authcheck,它检查访问令牌并返回用户。

fetch(url.main + 'version' + url.transform, {
		method: 'GET',
		headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json'
        } 
	}).then((response) => response.json())
		.then((responseData) => {
			//alert(JSON.stringify(responseData))
			if(responseData.version[0].version_code == Version){
				AsyncStorage.getItem('User').then((value) => {
					//alert(JSON.parse(value));
					var tmpValue = JSON.parse(value);
					if (tmpValue !== null) {
					
						this.props.navigation.navigate("updatesegregation");
					}else{
						this.props.navigation.navigate('login');
					}
				})
			}else{
				this.PopupDialog.show();
			}
		})

但是当有访问令牌可用时,它没有显示任何错误,也没有导航到请求的页面。

此导航不会将我从 DrawerNavigator 重定向到我想要的页面...

如果有人知道请帮忙...

【问题讨论】:

  • 请出示完整代码authcheck
  • @AhsanAli 是的,你检查上面的完整代码
  • 你在哪里打电话给fetchconstructor
  • 我在componentWillMount()函数@AhsanAli中调用fetch函数

标签: react-native react-native-android react-navigation drawer stack-navigator


【解决方案1】:

这是由于参考

this.prop

创建一个全局函数

 onAuthentication = (screenName) =>{

this.props.navigation.navigate(screenName)

};

然后在你的 fetch 函数中调用这个函数,比如

this.onAuthentication('updatesegregation') or this.onAuthentication('login')

【讨论】:

  • 您好,我已经尝试过您的方法,但是当我在此函数中使用更新隔离时,什么也没有发生,当我使用登录时,它会将我重定向到登录,但是当用户令牌出现时,我必须重定向它更新隔离...
  • 如果没有您的回答,当我将登录名放入其中时导航会运行...但是当抽屉导航器中的页面没有重定向时...我的问题是关于抽屉导航不起作用....抽屉导航器中的屏幕没有重定向到该屏幕...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
  • 2018-10-31
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多