如何使用户始终登录?反应本机

时间:2020-10-08 23:44:45

标签: react-native firebase-authentication

使用下面的代码,如何使用户每次打开应用程序时都能登录?

export default class LoginScreen extends Component {

constructor() {
  super();
  this.state = { 
    email: '', 
    password: '',
  }
}

updateInputVal = (val, prop) => {
  const state = this.state;
  state[prop] = val;
  this.setState(state);
}

userLogin = () => {
  if(this.state.email === '' && this.state.password === '') {
    Alert.alert('Enter details to signin!')
  } else {
    
    firebase
    .auth()
    .signInWithEmailAndPassword(this.state.email, this.state.password)
    .then((res) => {
      console.log(res)
      console.log('User logged-in successfully!')
      Alert.alert('Succesfully logged')
      this.setState({
        email: '', 
        password: ''
      })
      this.props.navigation.navigate('Home')
    })
    
    .catch(error => this.setState({ errorMessage: Alert.alert('Not logged') }))
     
  }
}

我正在尝试制作一个包含个人资料的时尚应用程序。

此后,我要退出登录,但是我已经很清楚如何进行退出了。

谢谢!

1 个答案:

答案 0 :(得分:0)

firebase身份验证使用户保持登录状态

使用{p>检查componentDidMount中的登录信息

firebase.auth().onAuthStateChanged((user)=>{

})

如果用户存在,请导航到主屏幕