React项目使用Firebase9时报[DEFAULT]应用未创建错误如何解决
问题解决方法
报错
FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app)的核心原因是Firebase初始化代码没有在调用Firebase相关API前执行,默认实例未生成。
修复步骤
- 第一步:在项目入口文件(通常是
src/index.js)顶部引入你的Firebase配置文件,假设你的配置文件命名为firebase.config.js放在src根目录,添加如下代码:
import './firebase.config.js'
该操作会保证项目启动时优先执行Firebase初始化逻辑,生成默认的[DEFAULT]实例。
- (可选更稳妥方案)修改注册页获取auth实例的逻辑,主动传入你初始化好的app实例,避免默认实例查找失败:
首先在RegisterPage顶部引入你导出的app:
然后修改onSubmit里的getAuth调用:import app from './firebase.config.js' // 替换为你实际的配置文件路径const auth = getAuth(app); - 第二步:修复代码中的其他错误,避免后续出现额外报错:
- 删除
createdUser()这行代码:createUserWithEmailAndPassword返回的是UserCredential对象,不是可执行函数,调用会抛出错误。 - 修复密码长度校验的判断逻辑,将原来的
errors.password.minLength === "required"改为errors.password.type === "minLength"。 - 删除确认密码input中多余的
type="password_confirm"属性,同一个input不能声明两个type属性。 - 填充完整
firebaseConfig中的所有配置字段,空字段会导致Firebase初始化失败。
- 删除
内容的提问来源于stack exchange,提问作者user15927449
相关产品推荐
相关产品推荐

