Перенаправить зарегистрированного пользователя с помощью firebase в реактивный - PullRequest
0 голосов
/ 21 мая 2018

Я хочу, чтобы, если пользователь уже выполнил вход, приложение должно пропустить для него страницу входа и отобразить главную страницу.Я попробовал приведенный ниже код, но он не работает.Как преодолеть эту проблему?

componentWillMount() {
   let user = firebase.auth().currentUser;
   if (user != null) {
      this.props.navigation.navigate('Drawer'); 
   }  
   this.unsubscribe = firebase.auth().onAuthStateChanged(user => {
    if (user) {
     this.props.navigation.navigate('Drawer');
   }  
  });  
}

1 Ответ

0 голосов
/ 21 мая 2018

Посмотрите на эту подсказку, она должна решить вашу проблему

class App extends React.Component {

      constructor() {
        super();
        this.state = {
          loading: true,
          authenticated: false,
        };
      }

      componentWillMount() {
        firebase.auth().onAuthStateChanged((user) => {
          if (user) {
            this.setState({ loading: false, authenticated: true });
          } else {
            this.setState({ loading: false, authenticated: false });
          }
        });
      }

      render() {
        if (this.state.loading) return null; // Render loading/splash screen etc

        if (!this.state.authenticated) {
          return <Login />;
        }

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