Closed yaejin12 closed 1 week ago
올라 위즈덤 프로젝트
1.무한스크롤 구현하기
[작업내용] React Query와 Intersection Observer를 활용하여 무한 스크롤 방식으로 quotes 데이터를 가져오고 화면에 렌더링합니다.
useInfiniteQuery
limit
skip
ref
div
useInView
getNextPageParam
undefined
fetchNextPage
2.localStorage 활용하여 즐겨찾기에 추가
Quotes
localStorage
some
boolean
올라 위즈덤 프로젝트
1.무한스크롤 구현하기
[작업내용] React Query와 Intersection Observer를 활용하여 무한 스크롤 방식으로 quotes 데이터를 가져오고 화면에 렌더링합니다.
useInfiniteQuery
훅을 사용하여 quotes 데이터를 비동기로 가져왔습니다.limit
과skip
값을 URL 파라미터로 전달하여 필요한 페이지의 데이터를 요청합니다.ref
속성을 부여한div
요소가 배치되어 있으며,useInView
훅으로 Intersection Observer가 이 요소를 감지할 때마다 다음 페이지 데이터를 요청합니다.getNextPageParam
에서 마지막 페이지인 경우undefined
를 반환하여 추가 데이터 요청을 막고, 그렇지 않으면 다음 페이지 번호를 반환하여 요청을 이어갈 수 있습니다.fetchNextPage
함수를 호출하여 추가 데이터를 불러옵니다.2.localStorage 활용하여 즐겨찾기에 추가
Quotes
객체를 반환하도록 작성하였습니다.localStorage
에 클릭한 데이터가 이미 존재하면 해당 데이터를 삭제하고, 존재하지 않으면 데이터를 추가하는 기능을 구현하였습니다.some
메서드를 활용하여 클릭한 데이터가localStorage
에 저장되어 있는지 확인한 후,boolean
값을 props로 전달하였습니다.