Ошибка типа: Не удается прочитать свойства неопределенного (чтение «onSnapshot»)

# #reactjs #firebase #google-cloud-firestore

Вопрос:

Я пытаюсь собрать данные из базы данных firebase, но получаю ошибку «Ошибка типа: Не удается прочитать свойства неопределенного (чтение «onSnapshot»)»

Feed.js

     const Feed = ({profilePic, message, timestamp, username, image}) => {
    const [posts, setPosts]  =useState([]);
    //realtime database connection
     useEffect(() => {
     db.collection['posts'].onSnapshot(snapshot => (
    setPosts(snapshot.docs.map((doc) => ({ id: doc.id, data: doc.data() })))
   ));
    }, []);

   return (
 

Firebase.js

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

 //initialize Firebase
  firebase.initializeApp(firebaseConfig);

 //database
 const db = firebase.firestore();
 export default db;
 

Ответ №1:

Это collection метод, а не массив. Так:

 db.collection('posts').onSnapshot(...
          // 👆      👆