应用程序永久加载-firebase.auth()。onAuthStateChanged

时间:2019-11-29 17:28:48

标签: firebase react-native firebase-authentication

我有一个简单的组件,可以检查用户是否登录。

20%的时间可以正常工作,但其他80%的页面将永久加载,因为firebase.auth()。onAuthStateChanged永远不会被触发,或者在加载几分钟后就会被触发。

会发生什么?

class Loading extends Component {
  componentDidMount() {
    this.checkIfLoggedIn();
  }

  checkIfLoggedIn = () => {
    console.warn("checking if logged in")
    firebase.auth().onAuthStateChanged(
      user => {
        console.warn('AUTH STATE CHANGED CALLED ', user)
        if (user) {
          console.log("there is indeed a user")

          this.props.navigation.navigate('Main');
        } else {
          console.log("go authenticate")
          this.props.navigation.navigate('Auth');
        }
      }
    );
  };

  render() {
    return (
      <View style={styles.container}>
        <Text>Please wait there</Text>
        <ActivityIndicator size="large" />
      </View>
    );
  }
}

1 个答案:

答案 0 :(得分:0)

我知道了。我正在导航到一个不存在的组件。