Все, что я мог понять, это использовать onScroll
(будьте осторожны) здесь: https://snack.expo.io/@zvona/inverted-list-onbeginreached
Фактическая функция выглядит так:
checkIfBeginningReached = ({ nativeEvent }) => {
const { layoutMeasurement, contentOffset } = nativeEvent;
const currentPos = layoutMeasurement.height + contentOffset.y;
const listLength = ITEM_HEIGHT * this.state.items.length;
const reactThreshold = listLength - (ITEM_HEIGHT * THRESHOLD);
if (currentPos >= reactThreshold) {
this.fetchMoreItems(this.state.items.length);
}
}
На этом мы выбираем необходимую информацию из nativeEvent
(какой тип содержит все необходимое). Затем мы просто вычисляем текущую позицию в пикселях, длину содержимого всего списка в пикселях, а затем пороговую точку.
В целом, это конкретное решение требует двух вещей:
1) список имеет фиксированный и одинаковый размер элементов
2) список не является многоколоночным.
Все остальные функциональные возможности демо-версии просто имитируют / имитируют один вариант использования (получение еще 50 элементов с сервера с задержкой 500 мс). Но я улучшу свой ответ, если это возможно. Но это должно помочь вам начать.