Firebase v9与firebaseui v6兼容性及初始化报错问题解决
核心疑问
Firebase官方提示firebaseui不支持v9版本,但firebaseui官方文档称已支持v9版本,需确认哪种表述准确。
解决方案
可通过以下适配代码实现Firebase v9与firebaseui的兼容调用:
import StyledFirebaseAuth from 'react-firebaseui/StyledFirebaseAuth'; import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/auth'; import { getAuth } from 'firebase/auth'; <StyledFirebaseAuth uiConfig={firebaseAuthConfig} firebaseAuth={getAuth()} className="googleBtn"/>
问题场景
使用Next-firebase-auth包实现认证逻辑,已在_app.js中完成Firebase初始化,但运行时提示Firebase未初始化;若手动再次执行初始化,又会提示Firebase应用已存在的重复初始化错误。
官方示例项目可正常运行,示例采用Firebase v8 + firebaseui v6版本组合。在自身项目中安装对应auth包、调整相关文件导入配置后,项目采用的依赖版本为:
- Firebase v9
- firebaseui v6
复制示例相关代码运行后无法正常工作,报错提示需初始化Firebase应用——实际无需重复初始化,因为已在_app.js中完成初始化操作。手动再次初始化后又提示重复初始化错误,具体报错信息为:
firebaseerror: firebase: no firebase app '[default]' has been created - call firebase app.initializeapp() (app-compat/no-app).
报错指向的代码片段如下:
<StyledFirebaseAuth uiConfig={firebaseAuthConfig} // 报错行 -> firebaseAuth={firebase.auth()}/>
内容的提问来源于stack exchange,提问作者ThanHtutZaw
相关产品推荐
相关产品推荐

