스크롤을 맨 아래까지 내렸을 때 터미널에 출력되는 결과물은 다음과 같습니다.
{ "contentSize": { "height": 1273.90478515625, "width": 411.4285583496094 }, "layoutMeasurement": { "height": 554.2857055664062, "width": 411.4285583496094 }, "contentOffset": { "y": 719.6190185546875, "x": 0 } }
여기서 contentSize.height는 FlatList 내부의 전체 크기를 나타냅니다. layoutMeasurement.height는 화면에 나타난 FlatList의 실제 크기를 나타냅니다. 현재 프로젝트의 경우 화면의 상단과 하단 영역을 제외한 크기겠지요? contentOffset.y는 스크롤할 때마다 늘어나는 값인데요. 스크롤이 맨 위에 있을 때는 0이고, 스크롤이 맨 아래에 있을 때는 contentSize.height - layoutMeasurement.height를 계산한 값입니다.
따라서 contentSize.height - layoutMeasurement.height - contentOffset.y를 계산한 값이 0에 가까워진다면 FlatList의 스크롤이 바닥에 가까워지는 것이라고 이해하면 됩니다.