繁体   English   中英

如何在 React Native EXPO 中使用 FireBase 正确保留登录 state?

[英]How to properly persist login state using FireBase in React Native EXPO?

我使用 email 和密码通过 Firebase 登录。但是,一旦我重新加载应用程序,我需要再次登录。 有没有办法在应用程序重新加载后自动登录用户?

我正在使用具有功能结构的 EXPO 管理项目,顺便说一句,而不是 class 结构。

如果您仍然面临这个问题。 这就是我的做法。 这是我的 App.js

  const [loggedIn, setLoggedIn] = useState(false);

  useEffect(() => {
    return firebase.auth().onAuthStateChanged(setLoggedIn);
  }, []);

  if (loggedIn) {
    return <HomeScreen />
  } else {
     <Login /> 
  }

这是登录代码。 我有一个简单的表单,其中包含 email 和密码以及一个按钮,按下时会调用此功能。

  const handleLogin = async () => {
      await firebase
        .auth()
        .signInWithEmailAndPassword(email, password)
        .catch((err) => {
          setVisible(true);
          setModalMessage(err.message);
        });
    
  };

让我知道这是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM