我正在尝试在我的 React-Native 应用程序上离线使用 Firebase 身份验证。但我明白了:
<块引用>auth/network-request-failed [auth/network-request-failed] 发生网络错误(例如超时、连接中断或主机无法访问)。
当我使用 Typescript 尝试此 answer 时:const initFirebase = firebase.initializeApp({persistence: true});
我得到:
没有与此调用匹配的过载。 重载 1 of 2, '(options: FirebaseAppOptions, config?: FirebaseAppConfig | undefined): Promise',出现以下错误。 '{persistence: boolean; 类型的参数}' 不能分配给'FirebaseAppOptions' 类型的参数。 类型 '{ 持久性:布尔值; }' 缺少“FirebaseAppOptions”类型中的以下属性:appId、projectId 重载 2 of 2, '(options: FirebaseAppOptions, name?: string | undefined): Promise',出现以下错误。 '{persistence: boolean; 类型的参数}' 不可分配给“FirebaseAppOptions”类型的参数。
这是我的 signIn
方法:
import firebase from '@react-native-firebase/app';
import '@react-native-firebase/auth';
const auth = firebase.auth();
const signIn = async (email: string, pass: string, setUser: any) => {
await auth
.signInWithEmailAndPassword(email, pass)
.then(userCredential => {
var e = userCredential.user;
setUser(e);
})
.catch(error => {
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorCode, errorMessage);
});
};
如何在 React-Native 中使用 Firebase 离线验证用户?
注意:在线工作正常。此处提供的代码:https://gitlab.com/programandoconro/kanjiholic
更新:
我使用以下方法避免了后面的问题:
const init = () => {
firebase.initializeApp({
appId: '****AppID****',
projectId: '***ProjectID***',
persistence: true,
});
};
并在我的 App.tsx
中调用此函数:
useEffect(() => {
init();
}, []);
但仍然遇到 unreachable host
问题。