порядок хранения по убыванию разрывов при использовании startAfter

#reactjs #redux #google-cloud-firestore #pagination #infinite-scroll

#reactjs #redux #google-облако-firestore #разбивка на страницы #бесконечная прокрутка

Вопрос:

Здесь у меня есть функция, которая используется для извлечения всех документов в коллекции. Возвращаемая информация разбивается на страницы и возвращает следующие документы только тогда, когда пользователь прокручивает страницу вниз.

 export function fetchScreamsFromFirestore(limit, lastDocSnapshot = null) {
  let screamsRef = db
    .collection('screams')
    .orderBy('createdAt')
    .startAfter(lastDocSnapshot)
    .limit(limit);

  return screamsRef;
}
  

Когда я добавляю аргумент ‘desc’ к этой функции следующим образом:

 export function fetchScreamsFromFirestore(limit, lastDocSnapshot = null) {
  let screamsRef = db
    .collection('screams')
    .orderBy('createdAt', 'desc')
    .startAfter(lastDocSnapshot)
    .limit(limit);

  return screamsRef;
}
  

Затем он ничего не возвращает. Есть мысли о том, как я могу это исправить?

Комментарии:

1. Пожалуйста, отредактируйте вопрос, чтобы объяснить, что именно работает не так, как вы ожидаете. Вы должны указать данные, с которыми вы работаете, и указать шаги, которые вы предпринимаете, чтобы добраться туда. Прямо сейчас мы не видим, как вы получаете и передаете lastDocSnapshot или что должен возвращать запрос.

Ответ №1:

Я немного опоздал, но я думаю, что это может быть просто проблема с синтаксисом?

Попробуйте…

     export function fetchScreamsFromFirestore(limit, lastDocSnapshot = null) {
  let screamsRef = db
    .collection('screams')
    .orderBy('createdAt', descending: true)
    .startAfter(lastDocSnapshot)
    .limit(limit);

  return screamsRef;
}