2017-05-26 60 views
0
login(){ 
     const { navigate } = this.props.navigation 
      firebase.auth().signInWithEmailAndPassword(this.state.email, this.state.password).catch(function(error) { 
       console.log(error.code) 
       console.log(error.message) 
       Alert.alert('Email', 'Error wrong credentials', [{text: 'understood'}]); 
       }) 
       navigate('SecondScreen') 

     } 

这是当前的代码导航的作品,但作为沿袭了问题:反应本土火力signInWithEmailAndPassword如何验证登录

当我输入凭据无效引导(“SecondScreen”)仍会被激活

我只想在登录成功时激活此功能。

我该如何做到这一点?

回答

0

您当前的代码只处理登录中的问题。它尚未处理登录成功或用户重新访问应用程序/页面(在这种情况下会自动登录)的情况。

你需要监视用户的认证状态,如图Get the currently signed-in user

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    navigate('SecondScreen') 
    } 
}); 
+0

如果我把这个下渲染()它还是会去到下一个页面,不登录我在哪里有放置此代码? – Bcoded

+0

该代码注册一个侦听器,当用户认证状态改变时触发。它只在用户通过身份验证时导航到第二个屏幕。 –

+0

谢谢,我明白了! – Bcoded