Как вы получаете данные из Firestore из отдельных документов, не повторяя JS для каждого нового документа - PullRequest
0 голосов
/ 15 апреля 2020

Для страницы со списком продуктов я смог создать все oop, чтобы извлечь каждый документ из базы данных, в которой отображаются все продукты. Однако для отдельной страницы сведений о продукте мне нужна только информация, относящаяся к этому конкретному продукту.

Приведенный ниже код извлекает правильные данные для отдельных продуктов, но не очень DRY. То, как это написано, означает, что каждый раз, когда я добавляю новый продукт в базу данных Firestore, мне приходится копировать и исправлять большой кусок JS. Нечто, что кажется неправильным. Есть ли способ сделать его более DRY?

// RETRIEVES PRODUCT ONE DATA
var docRefOne = db.collection("Products").doc("0nJqPHZzziVEdP3SiFGD");
const productOne = document.querySelector('#productOne');
docRefOne.get().then(function(doc) {
    if (doc.exists) {
        let productTitle = document.createElement('h2');
        productTitle.textContent = doc.data().title;
        productOne.appendChild(productTitle);

    } else {
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});

// RETRIEVES PRODUCT TWO DATA
var docRefTwo = db.collection("Products").doc("gB8t750hIUVyaC63k8GH");
const productTwo = document.querySelector('#productTwo');
docRefTwo.get().then(function(doc) {
    if (doc.exists) {
        let productTitle = document.createElement('h2');
        productTitle.textContent = doc.data().title;
        productTwo.appendChild(productTitle);

    } else {
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...