2024/10/12 2

Nutri Capture 프론트엔드 - 역방향 무한 스크롤

#1 개요이전 게시글에서 역방향 무한 스크롤을 불완전하게 구현했었다. 문제점은 다음과 같았다.  1 눈에 보이는 Item의 인덱스 중 0이 존재하면, 새로운 Item을 Load했다.  2 이러면 새로 Load된 Item의 인덱스가 다시 0이되면서 동시에 눈에 보이게 된다. 따라서 무한 재귀호출이 발생했었다.  3 이 문제를 해결하려면 새 Item을 Load함과 동시에 스크롤을 조작해야 한다. 그렇게 해서 '새 아이템이 눈에 보이기 전에' 스크롤을 성공시킨다면 무한 재귀호출에서 벗어날 수 있다. 본 게시글에선  3 의 상태를 만드는 걸 목표로 잡는다. #2 코드#2-1 깨알 변경...@Composablefun NutrientScreen( scope: CoroutineScope, snackbarH..

Nutri Capture 프론트엔드 - 무한 스크롤 로직 분리

#1 개요이전 게시글에선 불완전한 무한 스크롤을 구현했었다. 그 불완전함을 보완하는 코드를 작성하기 앞서, 먼저 기존 코드를 교통 정리하겠다. 첫째로는 초기 화면에서 보일 Item을 하나에서 20개로 늘린다. 초기 Item이 하나 뿐이면 아랫 방향 무한 스크롤 로직과 역방향(윗 방향) 무한 스크롤 로직이 동시에 작동하기에 이를 직관적으로 다루기 어렵기 때문이다. 20개라는 숫자는 Item들이 화면을 가득 채울만한 아무 숫자다. 특정 숫자로 하드 코딩하는 게 썩 내키지는 않지만, 일단 지금은 무한 스크롤의 문제를 해결하는 게 급선무다. 나중에 소프트 코딩으로 바꾸겠다. 또, 무한 스크롤 로직이 초기화가 완전히 완료된 후에 작동하도록 만들 것이다. 이를 위해 뷰 모델에 초기화 완료 정보를 담는 Boolean..