如何在 React-Native 中使用 Firebase 对用户进行离线身份验证?

时间:2021-06-05 04:43:19

标签: typescript react-native firebase-authentication

我正在尝试在我的 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 问题。

0 个答案:

没有答案
相关问题