You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Native中Firebase初始化报错:未创建默认应用

解决React Native Firebase Auth初始化报错:no firebase app 'default' has been created

你遇到的问题根源是**@react-native-firebase库不需要手动调用initializeApp()**,它和Web版Firebase的初始化逻辑完全不同:

@react-native-firebase会自动读取iOS的GoogleService-Info.plist和Android的google-services.json配置文件完成初始化,手动调用firebase.initializeApp()反而会触发冲突,导致报错。

修复步骤:

  1. 移除冗余代码
    直接删除这两行代码:

    import 'firebase/compat/firestore'
    firebase.initializeApp();
    

    若暂时未用到Firestore,完全无需导入compat版本的firestore;手动初始化的调用更是多余的操作。

  2. 确认配置文件已正确放置

    • iOS:将GoogleService-Info.plist添加到Xcode项目的ios目录下,选中该文件后,确保右侧"Target Membership"已勾选你的项目target。
    • Android:将google-services.json放到android/app目录下,同时确认android/build.gradle和android/app/build.gradle中已配置Google Services插件(初始化Firebase项目时通常会自动配置,若缺失需补充)。
  3. 检查依赖安装完整性
    确保已正确安装@react-native-firebase/auth:

    # 安装依赖
    npm install @react-native-firebase/auth
    # iOS需额外执行pod install
    cd ios && pod install && cd ..
    

    安装完成后重启Metro Bundler,避免缓存影响初始化逻辑。

修复后的代码示例

import React from 'react';
import {Text, View, Button} from 'react-native';
import auth from '@react-native-firebase/auth';

function App(){
  
  const signUp=()=>{
    auth().createUserWithEmailAndPassword('jane.doe@example.com', 'SuperSecretPassword!')
    .then(res=>console.log(res))
    .catch(err=>console.log(err))
  }
  
  return(
    <View style={{flex:1, justifyContent:'center', alignItems:'center'}}>
      <Text style={{fontSize:70}}>Hello Firebase</Text>
      <Button title='Sign Up' onPress={signUp} />
    </View>
  )
}

export default App

内容的提问来源于stack exchange,提问作者enenis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:24:55