Какова роль do c .data () в Firebase? - PullRequest
0 голосов
/ 28 марта 2020

Я создаю простую страницу, на которой я хочу визуализировать все элементы из документов FireStore. Однако я не понимаю, что именно предоставляет FireStore. Это обещание, объект или что-то другое?

Стандартный functon использует do c .data () для получения информации. Может кто-нибудь объяснить, почему это происходит? Что именно делает c .data ()?

db.collection("cities").get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
        // doc.data() is never undefined for query doc snapshots
        console.log(doc.id, " => ", doc.data());
    });
});

1 Ответ

1 голос
/ 28 марта 2020

Но почему это должно быть с console.log(doc.id, " => ", doc.data());

Это просто способ печати, с console.log(), значениями id и поля (через data()) каждый Пожарный магазин DocumentSnapshot. Как объяснено здесь , console.log() может принимать в качестве параметров «список JavaScript объектов для вывода». «Строковые представления каждого из этих объектов добавляются вместе в указанном порядке и выводятся».


Теперь, чтобы устранить ошибку, вы должны сделать следующее (не проверено):

db.collection('teamMember').get()
.then(querySnapshot => {
   querySnapshot.docs.map(doc => { return <TeamCard name={doc.Name} position={doc.position} text={doc.text} src={doc.url} /> });
});

потому что метод map() является методом Array, а Firestore querySnapshot не является массивом. Вызвав метод docs, вы получите массив, который вы можете использовать с map().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...