Аутентификация Firebase при мгновенном выходе пользователя - PullRequest
0 голосов
/ 25 января 2020

Я не уверен, является ли это проблемой с моими средствами отображения реагирующих компонентов в зависимости от того, вошел ли пользователь в систему или это проблема с тем, как я обрабатываю аутентификацию пользователя с помощью firebase. По сути, как только пользователь входит в систему, они возвращаются на страницу входа в систему, прежде чем они могут даже просматривать нужную страницу для входа. Вот мой код для обработки отображения страницы авторизации

class Portal extends Component {
  constructor(props) {
    super(props)
    this.state = {
      user: {},
    }
  }

  componentDidMount() {
    this.authListener()
  }

  authListener = () => {
    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        this.setState({ user })
        console.log(user)
      } else {
        this.setState({ user: null })
        console.log(user)
      }
    })
  }

  loginHandler = (username, password) => {
    firebase.auth().signInWithEmailAndPassword(username, password).then(() => {
    }).catch((err) => {
      console.error(err)
    })
  }

  logoutHandler = () => {
    firebase.auth().signOut()
  }

  render() {
    return (
      <div>
        {this.state.user ?
          (<PortalMain
            logoutHandler={this.logoutHandler}
          />) :

          (<Login
            loginHandler={this.loginHandler}
          />)}
      </div>
    )
  }
}

export default Portal

1 Ответ

0 голосов
/ 26 января 2020

Проблема заключается в автоматическом обновлении браузера при отправке формы. Я исправил проблему, добавив event.preventDefault() в начало моей функции отправки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...