繁体   English   中英

firebase.database 不是 function 为什么我在反应本机应用程序中收到此错误?

[英]firebase.database is not a function why I am getting this error in react native app?

当我尝试从 Firebase 实时数据库中获取数据时出现此错误-

AboutApp.js:9 Uncaught TypeError: config__WEBPACK_IMPORTED_MODULE_9 _.firebase.database is not a function at AboutApp.js:9:1

我的代码有什么问题吗?

请检查数据库结构

在此处输入图像描述

import React, { useState, useEffect } from 'react';
import {View, Button, Text, FlatList, StyleSheet, Pressable, TouchableOpacity} from 'react-native'
import {firebase} from '../config';


const AboutApp = ({ navigation }) =>{
const [users, setUsers] = useState([]);
useEffect(() => {
 const users = firebase.database().ref("first");
 users.on("value",datasnap=>{
    console.log(datasnap.val());
 });
 setUsers(users)

}, [])


    return (
       <View style={{ flex:1, marginTop: 100}}>
           <FlatList
           style={{height: '100%'}}
           data={users}
           numColumns={1}
           renderItem={({item}) => (
             <Pressable
         style={styles.container}>
         <View style={styles.innerContainer}>
             <Text>{item.name}</Text>
             <Text>{item.email}</Text>
             <Text>{item.phone}</Text>
             
         </View>
         
             </Pressable>
           )}
           />
            </View>
         );
         
         }
    export default AboutApp; 

请检查配置文件-

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore'


const firebaseConfig = {
  apiKey: "AIzaSyBS93aTCkwMyEWU15HR5y454qZM_WTDXhAo",
  authDomain: "newawesome-18ee9.firebaseapp.com",
  projectId: "newawesome-18ee9",
  storageBucket: "newawesome-18ee9.appspot.com",
  messagingSenderId: "441185679151",
  appId: "1:441187374121:web:ecf6de832274a4480b8610",
  measurementId: "G-R6NM36814P"
};

if (!firebase.apps.length){
    firebase.initializeApp(firebaseConfig)
}
export {firebase};

您似乎正在尝试使用Firebase Realtime Database而不是Firestore 您没有导入 RTDB SDK。 尝试添加以下导入:

import firebase from 'firebase/compat/app';
import 'firebase/compat/auth';
import 'firebase/compat/firestore'

import 'firebase/compat/database' // <-- Import RTDB SDK

此外,Firebase 将在未来的更新中删除“兼容”SDK,因此最好将您的代码升级到新的模块化 SDK。 查看文档以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM