当前位置: 首页 > 知识库问答 >
问题:

设置firebase时出错,可能存在未处理的promise拒绝

宋嘉懿
2023-03-14

我目前正在创建一个食品订购系统,我正在尝试在一个反应原生项目上建立Firebase

该应用程序允许我使用firebase的身份验证,我可以成功登录并注册新用户,但它不允许我使用firestore我正在尝试在my中的以下代码中进行控制台日志,以查看firestore是否将与该应用程序一起运行

下面是该应用程序的列表。js/我调用firestore集合的屏幕

错误如下所示

Firebase错误//错误读取android模拟器

build.gradle应用程序级别和

//用于react的包列表

package.json

"name": "projectFinal",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "@react-native-community/masked-view": "^0.1.7",
    "@react-native-firebase/app": "^6.3.4",
    "@react-native-firebase/auth": "^6.3.4",
    "@react-native-firebase/firestore": "^6.3.4",
    "firebase": "^7.9.3",
    "react": "16.9.0",
    "react-native": "0.60.5",
    "react-native-elements": "^1.2.7",
    "react-native-gesture-handler": "^1.6.0",
    "react-native-reanimated": "^1.7.0",
    "react-native-safe-area-context": "^0.7.3",
    "react-native-safe-area-view": "^1.0.0",
    "react-native-screens": "^2.2.0",
    "react-native-vector-icons": "^6.6.0",
    "react-navigation": "^4.2.2",
    "react-navigation-header-buttons": "^3.0.5",
    "react-navigation-stack": "^2.2.2",
    "react-navigation-tabs": "^2.8.2"
  },
  "devDependencies": {
    "@babel/core": "^7.8.6",
    "@babel/runtime": "^7.8.4",
    "@react-native-community/eslint-config": "^0.0.7",
    "babel-jest": "^25.1.0",
    "eslint": "^6.8.0",
    "jest": "^25.1.0",
    "metro-react-native-babel-preset": "^0.58.0",
    "react-test-renderer": "16.9.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

app.js


import React, { Component } from 'react';
import { View, StyleSheet, Text } from 'react-native';

import {createAppContainer, createSwitchNavigator} from 'react-navigation';
import {createStackNavigator} from 'react-navigation-stack';
import {createBottomTabNavigator, createTabNavigator} from 'react-navigation-tabs'
import Icon from 'react-native-vector-icons/Ionicons'
import { HeaderButtons, HeaderButton, Item } from 'react-navigation-header-buttons';

import Home from './src/Screens/Home'
 //import MyAccount from './Screens/MyAccount';
 import Register from './src/Screens/Register'
 import Login from './src/Screens/Login';
 //import Menus from './Screens/Menus';
import LoadingScreen from './src/Screens/LoadingScreen';
// import Jitters from './Screens/Jitters';
// import Scullery from './Screens/Scullery';
// import Bunker from './Screens/TheBunker';
// import OrderDetails from './Screens/OrderDetails';
import ViewOrder from './src/Screens/ViewOrder';

import "firebase/firestore"
import firebase from "firebase"
import firestore from "@react-native-firebase/firestore"

//this is where firebase is initializedd the google.services json is also in the relevant file

const firebaseConfig = {
  apiKey: "AIza<<redacted>>",
  authDomain: "<<redacted>>.firebaseapp.com",
  databaseURL: "https://<<redacted>>.firebaseio.com",
  projectId: "<<redacted>>",
  storageBucket: "<<redacted>>.appspot.com",
  messagingSenderId: "<<redacted>>",
  appId: "1:8<<redacted>>",
  measurementId: "G-T<<redacted>>"
};

// Instantiate a Firebase app.
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore()



 const TabNavigator = createBottomTabNavigator(
         {
           Home: {
             screen: Home,
             navigationOptions: {
               TabBarIcon: ({ tintColor}) => <Ionicons name="ios-home" size={24} color={tintColor}/>
             }
          },
          // Menus: {
          //  screen: Menus,
          //   navigationOptions: {
          //     TabBarIcon: ({ tintColor}) => <Ionicons name="ios-chatbox" size={24} color={tintColor}/>
          //   }
          
           ViewOrder: {
           screen: ViewOrder,
           navigationOptions: {
            TabBarIcon: ({ tintColor}) => <Ionicons name="ios-add-circle" size={24} color={tintColor}/>
            },
         }
       },
       {
           tabBarOptions: {
             activeTintColor: "#161F3D",
             inactiveTintColor: "#E9446A",
             showLabel: true
      
      
           }
        
        }
       );
      
    
    
     const authStack = createStackNavigator(
       {
       Home: Home,
       Login: Login,
       Register: Register,
       // Menu: Menus,
      //  Jitters: Jitters,
      //  Scullery: Scullery,
      //  TheBunker: Bunker,
       // MyAccount: MyAccount,
      //  OrderDetails: OrderDetails,
       ViewOrder: ViewOrder
     });
    const App = createAppContainer(TabNavigator);
     export default createAppContainer(
      (
        createSwitchNavigator({
          
        Loading: LoadingScreen,
        App: TabNavigator,
        Auth: authStack
        },
        {
          initalRouteName: "Loading Page"
        }
      )
     )
     );

##Screen to call a collection of firestore##
//this is a console log to see if firestore will initialize 



import React, {useState} from 'react'
import {View, Text} from 'react-native'                                                                                                          
import firebase from "firebase"
import firestore from "@react-native-firebase/firestore"



    
async function myFunction() {
   
    var user = firebase.auth().currentUser;
    
    let x = await firestore().collection("Users").doc("MmjyeGlhFPu0g6pK0GQ2").get();

   // console.log(x)

}



export default class ViewOrder extends React.Component {
    
      componentDidMount() { 
        myFunction(
        ) 
         }

render() {
    return(
            <View>
                <Text>Hello</Text>
            </View>
   
    )}


**//error reads on android emulator**  

as possible unhandled promise rejection (id:0) 
error: no firebase app ['default] has been created - call
firebase.initalize.app() getapp@http://10.0.2.2.8081/index.bundle
?platform 

共有1个答案

蓬威
2023-03-14

这似乎是错误的,主要是以下部分:

错误:尚未创建Firebase应用程序“[默认]”—请致电Firebase。initializeApp()

您还没有初始化您的Firebase数据库。如留档Firebase. app. App中所述,您需要调用firebase.initializeApp()来创建一个应用程序。除此之外,我会将您的导入更改为import*as fire base from"fire base",因此您正在导入Firebase所需的所有软件包。

我已经查看了社区下面的所有帖子,我为您提供的这些可能的解决方案,只是一些可能解决您的问题的选项和备选方案。

我建议您查看一下,这样您就可以获得更多信息并进行进一步检查,因为可能有其他一些结构和环境配置会影响您,这些情况可以为您提供帮助。

  • 尚未创建Firebase应用程序“[默认]”—请调用Firebase应用程序。初始化app()
  • Firebase:尚未创建Firebase应用程序“[默认]”(Firestore)
  • 错误:Firebase:尚未创建Firebase应用程序“[默认]”
  • 错误:未创建Firebase应用程序“[默认]”-请调用Firebase应用程序。initializeApp()

让我知道这些信息是否帮助了你!

 类似资料:
  • 我得到以下错误: 这是promise代码,我看不出有什么问题,有什么想法吗? 编辑: 我添加了一个catch函数,得到了一个更好的错误: 这是索引。网间网操作系统。js代码。url很好,并为我提供了正确的json数据。我可以通过控制台日志看到这两个在中提供。但是未定义。 我仍然不确定发生了什么,为什么有问题,为什么它是未定义的。

  • 我想在Repl上为我的游戏实现一个基本的排行榜。它,所以我创建了一个节点。js后端。这是我在后端的配置: 但是每当我尝试发布时,我都会得到以下错误: (节点:344)未处理的PromisejectionWarning:TypeError:无法读取null的属性“push” (节点:344)UnhandledPromiseRejtionWarning:未处理的promise拒绝。这个错误要么是由于抛

  • 错误: 我的前端vue应用程序正在和后端正在我正在请求axios从vue文件到后端的get请求。 这就是我的终点 这个错误的原因是什么?

  • 当我运行部署我的应用程序的命令时,我发现以下错误 (节点: 6292)UnhandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHandledPromiseRejtionWarning: UnHan

  • 问题内容: 在Angular应用程序中,我们有一个解决承诺的模式,直到Angular 1.6.0为止,我们的服务一直很好: 这就是我们如何触发业力中的错误: 现在,随着更新至1.6.0,Angular突然在我们的单元测试中(在Karma中)抱怨带有“可能未处理的拒绝”错误的拒绝承诺。但是,我们正在处理第二个调用错误服务的函数中的拒绝。 Angular在这里到底要寻找什么?它希望我们如何“处理”拒绝

  • 为了学习角度2,我正在尝试他们的教程。 我得到这样的错误: 我在SO中浏览了不同的问题和答案,但没有发现什么是“未处理的promise拒绝”。 有人能简单地解释一下它是什么,以及<code>错误:生成cmd ENOENT</code>是什么,当它出现时,我需要检查什么才能消除这个警告吗?