더북(TheBook)

스크롤을 맨 아래까지 내렸을 때 터미널에 출력되는 결과물은 다음과 같습니다.

{
  "contentSize": {
    "height": 1273.90478515625,
    "width": 411.4285583496094
  },
  "layoutMeasurement": {
    "height": 554.2857055664062,
    "width": 411.4285583496094
  },
  "contentOffset": {
    "y": 719.6190185546875,
    "x": 0
  }
}

여기서 contentSize.heightFlatList 내부의 전체 크기를 나타냅니다. layoutMeasurement.height는 화면에 나타난 FlatList의 실제 크기를 나타냅니다. 현재 프로젝트의 경우 화면의 상단과 하단 영역을 제외한 크기겠지요? contentOffset.y는 스크롤할 때마다 늘어나는 값인데요. 스크롤이 맨 위에 있을 때는 0이고, 스크롤이 맨 아래에 있을 때는 contentSize.height - layoutMeasurement.height를 계산한 값입니다.

따라서 contentSize.height - layoutMeasurement.height - contentOffset.y를 계산한 값이 0에 가까워진다면 FlatList의 스크롤이 바닥에 가까워지는 것이라고 이해하면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.