我正在尝试将@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”一起使用?
感谢您提供的任何帮助或指导!
1条答案
按热度按时间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/*
定义其伪方法的方式不同步。