是否可以将@react-native-firebase/app与react-firebase-hooks集成在一起?

u7up0aaq  于 2023-06-24  发布在  React
关注(0)|答案(1)|浏览(189)

我正在尝试将@react-native-firebase/app包与react-firebase-hooks集成到React Native应用程序中。但是,我遇到了一个错误“TypeError:尝试使用“firebase/auth”包中的getAuth方法时,无法读取undefined的属性“getProvider”。
下面是我使用的代码片段:

import firebase from '@react-native-firebase/app';
import { getAuth } from 'firebase/auth';

if (!firebase.apps.length) {
  firebase.initializeApp(credentials);
}

let app = firebase.app();
const authInstance = getAuth(app);
const [user, loading, error] = useAuthState(authInstance);

在执行上述代码时,我收到了上述错误。看起来'@react-native-firebase/app'的initializeApp方法返回的对象与'firebase/auth'包预期的对象不同,导致调用getAuth时出错。
有没有一种方法可以正确地将'@react-native-firebase/app'与react-firebase-hooks集成?如何解决此错误并将useAuthState钩子与“@react-native-firebase/app”一起使用?
感谢您提供的任何帮助或指导!

8yoxcaq7

8yoxcaq71#

据我所知,@react-native-firebase/*系列由伪SDK组成,它将请求转发到原生iOS和Android SDK,并从其接收响应,并将其返回到JavaScript引擎。它并不是一个真正的类似替代JavaScript Web SDK,因此输入并不总是正确排列。
支持React Native的react-firebase-hooks的最新版本是react-firebase-hooks@3.0.5。如上所述,您可能会遇到一些类型冲突,需要手动解决。
放弃支持的原因是Firebase Web SDK的v9+彻底改变了SDK的API表面,与@react-native-firebase/*定义其伪方法的方式不同步。

相关问题