По порядку Middle Списки и производительность обновлено

Подгрузка следующей страницы

Вопрос

Расставьте шаги корректной подгрузки следующей страницы ленты.

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    Ставим флаг загрузки и показываем индикатор в ListFooterComponent
  2. 2
    Проверяем, что загрузка не идёт и следующая страница существует
  3. 3
    Снимаем флаг загрузки
  4. 4
    Запрашиваем страницу по курсору последней загруженной
  5. 5
    Склеиваем страницы, убирая дубли по id, и сохраняем новый курсор
  6. 6
    FlatList вызывает onEndReached при приближении к концу
Показать ответ и разбор

Коротко

Проверка перед запросом защищает от дублей при повторном onEndReached. Курсор вместо номера страницы делает пагинацию устойчивой к новым записям.

Правильный порядок

  1. 1
    FlatList вызывает onEndReached при приближении к концу
  2. 2
    Проверяем, что загрузка не идёт и следующая страница существует
  3. 3
    Ставим флаг загрузки и показываем индикатор в ListFooterComponent
  4. 4
    Запрашиваем страницу по курсору последней загруженной
  5. 5
    Склеиваем страницы, убирая дубли по id, и сохраняем новый курсор
  6. 6
    Снимаем флаг загрузки

Разбор

Проверка перед запросом защищает от дублей при повторном onEndReached. Курсор вместо номера страницы делает пагинацию устойчивой к новым записям. Флаг снимается и при ошибке, иначе подгрузка остановится навсегда.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме