Я пытаюсь применить нумерацию страниц в пожарном магазине, мне нужно взять первые 5 предметов (всего 200 предметов) из массива предметов в моих шляпах до c из коллекций коллекций, а затем при следующем щелчке мне нужно получить следующие 5 и т. д.
testPagination = async () => {
const { currentPage, itemsPerPage } = this.state;
const { fetchCollectionsForPagesStart, match : { params } } = this.props;
const collectionId = params.collectionId;
const startAt = currentPage * itemsPerPage - itemsPerPage;
const docs = await firestore.collection("collections").orderBy('id').startAt(0).limit(itemsPerPage).get();
const data = docs.docs;
const items = docs.forEach( async docItem => {
console.log(await docItem.data());
})
}
я запускаю эту функцию, когда нажимаю кнопку в функции рендеринга внутри реаги ,
render()
{
return (
<button onClick={this.testPagination}>Test pagination </button>
);
}
, но я всегда получаю 200 элементов в своем результате, так как мне применить startAt () и limit () к массиву элементов в firestore.
Это моя база данных:
Этот console.log (await docItem.data ()); дает мне
NB: Я получаю идентификатор документа шляпы, поэтому, если есть способ получить доступ к шляпам с идентификатором, потребуется некоторая помощь в этом тоже я пытался
const docs = await firestore.doc(`collections/${collectionId}`).get();
const data = await docs.data();
Но это не позволяет мне применять startAt () и limit ()