![](/img/trans.png)
[英]I am getting an error while fetching data from firestore(firebase). I am using react native
[英]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.