JSi*_*Sim 3 react-native firebase-authentication expo
语境
我知道这个问题在 stackoverflow 上已经被问过多次,相信我,我已经仔细研究过它们并尝试了尽可能多的方法。
问题
我有一个使用 Firebase 身份验证的 React Native - Expo 应用程序。用户在每次应用程序刷新时都会注销(令人愤怒)。因此,我按照许多其他答案的建议添加了一个侦听器。这是添加在我的登录页面上的。每次刷新后,我的控制台中都会记录“无用户”。
useEffect(() => {
const unsubscribe = firebase.auth().onAuthStateChanged(user => {
if (user) {
navigation.replace('Main');
console.log('User logged in!');
}
else {
console.log("No user");
}
});
return unsubscribe;
}, []);
Run Code Online (Sandbox Code Playgroud)
由于我使用的是 V9.6.10,因此我还尝试了此处提供的模块化方法作为类似问题的答案。
其他问题中提供的这些答案似乎对人们有用,但到目前为止还没有对我有用。如果需要更多信息来解决问题,我很乐意提供。
这是我花了 9 个月时间开发的应用程序的最后一个问题之一,并且在一段时间内一直是我的克星,非常感谢您的帮助!
这篇文章给出了解决方案:Best way to persist firebase Login using expo go
import { initializeApp } from "firebase/app"
import { initializeAuth } from "firebase/auth"
import { getReactNativePersistence } from "firebase/auth/react-native"
import AsyncStorage from "@react-native-async-storage/async-storage"
const defaultApp = initializeApp(config);
initializeAuth(defaultApp, {
persistence: getReactNativePersistence(AsyncStorage)
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1018 次 |
最近记录: |