Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
Ключ вашего взаимодействия с Firestore в вашем коде выглядит следующим образом:
firebase.db.collection("projects")
Этот код создает ссылку на коллекцию projects
в Firestore. Он еще не извлекает какие-либо данные из базы данных.
Чтобы получить данные, вам нужно прикрепить слушателя к коллекции. Из документации Firestore о получении документов из коллекции :
blockquote>db.collection("cities").where("capital", "==", true) .get() .then(function(querySnapshot) { querySnapshot.forEach(function(doc) { // doc.data() is never undefined for query doc snapshots console.log(doc.id, " => ", doc.data()); }); }) .catch(function(error) { console.log("Error getting documents: ", error); });
Вам нужно будет сделать нечто подобное в вашем коде.
Обычно в проектах React вы сохраняете данные в состоянии компонента, вызывая
setState(...)
в обратном вызовеthen()
, а затем визуализируете содержимое из состояния в вашем JSX.