{"id":22621525,"url":"https://github.com/hyrmzz1/infinite-scroll","last_synced_at":"2026-04-11T02:38:05.049Z","repository":{"id":259847820,"uuid":"866508199","full_name":"hyrmzz1/infinite-scroll","owner":"hyrmzz1","description":"Infinite Scroll using Intersection Observer API","archived":false,"fork":false,"pushed_at":"2024-10-30T09:18:07.000Z","size":129,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T02:26:37.910Z","etag":null,"topics":["infinite-scroll","intersection-observer-api","react","tailwind-css"],"latest_commit_sha":null,"homepage":"https://infinite-scroll-two-lemon.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyrmzz1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-02T11:46:16.000Z","updated_at":"2024-11-02T14:22:26.000Z","dependencies_parsed_at":"2024-10-28T11:41:11.772Z","dependency_job_id":"a036b67f-af8e-4854-90c2-317d574d47c5","html_url":"https://github.com/hyrmzz1/infinite-scroll","commit_stats":null,"previous_names":["hyrmzz1/infinite-scroll"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hyrmzz1/infinite-scroll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyrmzz1%2Finfinite-scroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyrmzz1%2Finfinite-scroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyrmzz1%2Finfinite-scroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyrmzz1%2Finfinite-scroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyrmzz1","download_url":"https://codeload.github.com/hyrmzz1/infinite-scroll/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyrmzz1%2Finfinite-scroll/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265236775,"owners_count":23732502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["infinite-scroll","intersection-observer-api","react","tailwind-css"],"created_at":"2024-12-08T23:10:17.329Z","updated_at":"2026-04-11T02:37:59.990Z","avatar_url":"https://github.com/hyrmzz1.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Preview\n\n[배포 링크](https://infinite-scroll-two-lemon.vercel.app/)\n\n![2024-10-306 04 56-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/b25211b5-bd5f-485c-8191-04129a49dc61)\n\n### Feature\n\n1.  **가격 누적 합계 표시**\n    - 상품 리스트 하단에 로드된 데이터(상품)의 가격 누적 합계가 나타난다.\n    - 첫 페이지 로드 전에는 \"Total Price: $0\"이며, 데이터 로드 완료 후 누적 합계가 업데이트된다.\n\n2. **무한 스크롤 조건**\n    - 로딩 UI가 화면에 보일 때만 다음 페이지가 자동으로 로드된다.\n    - 로딩 UI가 화면에 보이지 않을 경우 (ex. 상품 카드 또는 Total Price 문자열 만 보이는 상태) 새로운 페이지를 불러오지 않는다.\n\n3. **마지막 페이지 처리**: 마지막 페이지일 경우 로딩 UI가 표시되지 않으며, 더 이상 페이지를 불러오지 않는다.\n\n### 실행방법\n\n```bash\nnpm install\nnpm run dev\n```\n\n## What I Learned\n\n[Intersection Observer API를 이용해 무한 스크롤을 구현하는 과정을 정리한 포스팅](https://hyrmzz1.tistory.com/167) 입니다 ✍🏻\n\n---\n\n## 과제 요구사항\n\n- [x] 하나의 SinglePage에 Intersection Observer를 이용해 무한스크롤을 구현하세요.\n- [x] 현재 가져온 상품 리스트들의 액수들의 합계를 화면에 보여주세요.\n\n### 무한 스크롤의 조건\n\n- [x] 페이지를 현재 보여주는 페이지의 최하단으로 이동 시 다음 페이지 정보를 가져오게 합니다.\n- [x] 더이상 가져올 수 없는 상황이라면 더 이상 데이터를 가져오는 함수를 호출하지 않습니다.\n- [x] 로딩 시 로딩 UI가 보여아 합니다.\n\n### 과제 유의 사항\n\n- [x] React + 함수형 컴포넌트를 사용해서 개발해주세요.\n- [x] 제공해드린 Mock 데이터는 수정 및 추가가 가능합니다.\n- [x] 무한스크롤 관련된 라이브러리 사용 절대 금지\n- [x] 비동기 상태 관리 라이브러리 사용 절대 금지 (ex. tanstack-query)\n\n### 첨부 코드\n\n구현에만 집중할 수 있도록 mock 데이터와 호출용 promise 함수를 제공해 드리니 아래를 사용하시길 바랍니다.\n\n\u003cdetails\u003e\n\n```\n// 반환되는 데이터의 타입\ninterface MockData {\n  productId: string;\n  productName: string;\n  price: number;\n  boughtDate: string;\n}\n```\n\n```\nconst MOCK_DATA: MockData[] = [\n  {\n    productId: \"66e1c1df3594bb65169e0f9b\",\n    productName: \"Elegant Granite Fish\",\n    price: 792.0,\n    boughtDate: \"Sat Jun 01 1985 20:00:06 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0f9c\",\n    productName: \"Intelligent Steel Towels\",\n    price: 287.0,\n    boughtDate: \"Sun Jul 02 2017 01:41:40 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0f9d\",\n    productName: \"Intelligent Soft Car\",\n    price: 603.0,\n    boughtDate: \"Sun May 09 2010 17:25:02 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0f9e\",\n    productName: \"Practical Plastic Chips\",\n    price: 420.0,\n    boughtDate: \"Sun Jun 03 1973 15:54:34 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0f9f\",\n    productName: \"Small Frozen Chair\",\n    price: 421.0,\n    boughtDate: \"Sun Nov 11 2018 12:37:55 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa0\",\n    productName: \"Ergonomic Frozen Cheese\",\n    price: 852.0,\n    boughtDate: \"Thu May 13 1999 21:20:14 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa1\",\n    productName: \"Luxurious Cotton Fish\",\n    price: 838.0,\n    boughtDate: \"Thu Aug 26 2004 11:45:55 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa2\",\n    productName: \"Practical Plastic Mouse\",\n    price: 280.0,\n    boughtDate: \"Wed Aug 23 2000 12:01:29 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa3\",\n    productName: \"Elegant Bronze Pizza\",\n    price: 517.0,\n    boughtDate: \"Thu Oct 14 1999 14:55:51 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa4\",\n    productName: \"Awesome Concrete Hat\",\n    price: 867.0,\n    boughtDate: \"Thu Sep 14 2023 12:48:29 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa5\",\n    productName: \"Ergonomic Concrete Chips\",\n    price: 418.0,\n    boughtDate: \"Fri Sep 08 2023 23:56:52 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa6\",\n    productName: \"Generic Soft Ball\",\n    price: 449.0,\n    boughtDate: \"Sun Sep 24 1972 08:49:56 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa7\",\n    productName: \"Practical Metal Computer\",\n    price: 533.0,\n    boughtDate: \"Fri Jan 09 2015 20:11:42 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa8\",\n    productName: \"Modern Metal Computer\",\n    price: 623.0,\n    boughtDate: \"Wed Mar 02 2016 02:26:23 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fa9\",\n    productName: \"Ergonomic Cotton Computer\",\n    price: 513.0,\n    boughtDate: \"Sat Jul 02 2016 18:54:19 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0faa\",\n    productName: \"Tasty Soft Cheese\",\n    price: 663.0,\n    boughtDate: \"Wed Mar 03 2021 08:39:08 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fab\",\n    productName: \"Bespoke Granite Computer\",\n    price: 879.0,\n    boughtDate: \"Wed May 19 1976 08:50:28 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fac\",\n    productName: \"Practical Cotton Hat\",\n    price: 633.0,\n    boughtDate: \"Tue Sep 22 1987 00:04:50 GMT+1000 (한국 하계 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fad\",\n    productName: \"Rustic Frozen Bike\",\n    price: 30.0,\n    boughtDate: \"Sat Aug 18 2001 14:47:25 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fae\",\n    productName: \"Electronic Frozen Tuna\",\n    price: 927.0,\n    boughtDate: \"Mon Jan 19 1998 06:00:00 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0faf\",\n    productName: \"Small Fresh Table\",\n    price: 118.0,\n    boughtDate: \"Wed Aug 31 2005 11:18:57 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb0\",\n    productName: \"Handmade Wooden Bike\",\n    price: 427.0,\n    boughtDate: \"Sat Jun 04 1983 02:29:03 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb1\",\n    productName: \"Fantastic Fresh Shoes\",\n    price: 550.0,\n    boughtDate: \"Tue Dec 05 1972 15:42:44 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb2\",\n    productName: \"Practical Soft Keyboard\",\n    price: 831.0,\n    boughtDate: \"Tue Jun 09 1970 17:00:14 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb3\",\n    productName: \"Recycled Soft Chair\",\n    price: 745.0,\n    boughtDate: \"Wed Feb 12 1986 05:14:27 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb4\",\n    productName: \"Licensed Metal Car\",\n    price: 86.0,\n    boughtDate: \"Thu Sep 10 1981 19:29:46 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb5\",\n    productName: \"Electronic Fresh Towels\",\n    price: 347.0,\n    boughtDate: \"Thu Dec 31 2015 07:41:32 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb6\",\n    productName: \"Luxurious Granite Tuna\",\n    price: 854.0,\n    boughtDate: \"Sat Dec 22 2007 20:01:24 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb7\",\n    productName: \"Awesome Rubber Tuna\",\n    price: 921.0,\n    boughtDate: \"Mon Sep 19 1994 14:25:06 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb8\",\n    productName: \"Unbranded Fresh Chair\",\n    price: 541.0,\n    boughtDate: \"Wed Sep 25 1996 13:16:01 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fb9\",\n    productName: \"Modern Wooden Ball\",\n    price: 349.0,\n    boughtDate: \"Sun Nov 04 1990 11:48:42 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fba\",\n    productName: \"Licensed Wooden Ball\",\n    price: 917.0,\n    boughtDate: \"Fri Jun 12 1998 04:23:57 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fbb\",\n    productName: \"Generic Steel Table\",\n    price: 446.0,\n    boughtDate: \"Wed Oct 28 2009 07:15:18 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fbc\",\n    productName: \"Handmade Soft Chair\",\n    price: 308.0,\n    boughtDate: \"Mon Jan 27 1992 20:39:27 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fbd\",\n    productName: \"Incredible Granite Bacon\",\n    price: 866.0,\n    boughtDate: \"Mon Jun 17 1974 07:42:42 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fbe\",\n    productName: \"Incredible Frozen Computer\",\n    price: 377.0,\n    boughtDate: \"Mon Apr 24 2000 23:48:35 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fbf\",\n    productName: \"Gorgeous Rubber Bike\",\n    price: 481.0,\n    boughtDate: \"Fri Apr 15 1988 17:00:16 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc0\",\n    productName: \"Generic Granite Chicken\",\n    price: 501.0,\n    boughtDate: \"Tue Aug 05 2003 06:45:19 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc1\",\n    productName: \"Oriental Wooden Shoes\",\n    price: 509.0,\n    boughtDate: \"Fri Jan 27 1984 06:05:51 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc2\",\n    productName: \"Luxurious Granite Car\",\n    price: 286.0,\n    boughtDate: \"Fri Jun 25 2004 13:11:25 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc3\",\n    productName: \"Generic Rubber Tuna\",\n    price: 660.0,\n    boughtDate: \"Tue Apr 17 2018 08:08:36 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc4\",\n    productName: \"Incredible Rubber Keyboard\",\n    price: 171.0,\n    boughtDate: \"Tue Aug 14 2007 15:41:10 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc5\",\n    productName: \"Ergonomic Steel Bike\",\n    price: 397.0,\n    boughtDate: \"Tue Mar 13 1973 05:30:23 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc6\",\n    productName: \"Handmade Soft Tuna\",\n    price: 839.0,\n    boughtDate: \"Sat Dec 05 2015 20:12:16 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc7\",\n    productName: \"Elegant Soft Mouse\",\n    price: 273.0,\n    boughtDate: \"Mon Jan 02 1989 16:23:16 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc8\",\n    productName: \"Ergonomic Plastic Towels\",\n    price: 999.0,\n    boughtDate: \"Tue Sep 06 1977 04:06:29 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fc9\",\n    productName: \"Elegant Wooden Ball\",\n    price: 633.0,\n    boughtDate: \"Mon Nov 02 2020 10:27:08 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fca\",\n    productName: \"Ergonomic Steel Gloves\",\n    price: 424.0,\n    boughtDate: \"Fri Apr 05 2024 17:17:22 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fcb\",\n    productName: \"Ergonomic Bronze Towels\",\n    price: 521.0,\n    boughtDate: \"Tue Jun 23 1970 10:47:48 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fcc\",\n    productName: \"Practical Steel Chicken\",\n    price: 365.0,\n    boughtDate: \"Fri May 21 1993 03:42:28 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fcd\",\n    productName: \"Electronic Steel Shirt\",\n    price: 131.0,\n    boughtDate: \"Fri Dec 27 1985 08:56:33 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fce\",\n    productName: \"Refined Fresh Shirt\",\n    price: 589.0,\n    boughtDate: \"Wed Aug 15 1990 21:48:58 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fcf\",\n    productName: \"Bespoke Steel Fish\",\n    price: 667.0,\n    boughtDate: \"Sun Sep 06 2015 15:02:56 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd0\",\n    productName: \"Awesome Bronze Ball\",\n    price: 987.0,\n    boughtDate: \"Tue Dec 02 2014 10:22:16 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd1\",\n    productName: \"Refined Steel Gloves\",\n    price: 554.0,\n    boughtDate: \"Thu Oct 02 2008 14:30:06 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd2\",\n    productName: \"Sleek Steel Pizza\",\n    price: 79.0,\n    boughtDate: \"Tue Dec 19 1995 14:17:03 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd3\",\n    productName: \"Modern Plastic Pants\",\n    price: 979.0,\n    boughtDate: \"Sat Mar 19 2016 14:26:14 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd4\",\n    productName: \"Handcrafted Fresh Sausages\",\n    price: 926.0,\n    boughtDate: \"Tue Oct 15 1996 19:34:15 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd5\",\n    productName: \"Handmade Rubber Salad\",\n    price: 775.0,\n    boughtDate: \"Fri Aug 29 2014 22:52:20 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd6\",\n    productName: \"Fantastic Bronze Shirt\",\n    price: 136.0,\n    boughtDate: \"Sat Apr 03 1982 02:01:41 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd7\",\n    productName: \"Handcrafted Cotton Soap\",\n    price: 973.0,\n    boughtDate: \"Mon Mar 08 2004 08:10:02 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd8\",\n    productName: \"Elegant Concrete Gloves\",\n    price: 726.0,\n    boughtDate: \"Fri Sep 02 2016 13:29:55 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fd9\",\n    productName: \"Practical Cotton Salad\",\n    price: 175.0,\n    boughtDate: \"Sun Apr 19 1970 13:22:33 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fda\",\n    productName: \"Sleek Wooden Fish\",\n    price: 245.0,\n    boughtDate: \"Tue Jan 22 1985 12:58:37 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fdb\",\n    productName: \"Handcrafted Frozen Bike\",\n    price: 689.0,\n    boughtDate: \"Tue Oct 26 1982 06:23:25 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fdc\",\n    productName: \"Tasty Plastic Sausages\",\n    price: 681.0,\n    boughtDate: \"Fri Apr 14 2023 05:01:39 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fdd\",\n    productName: \"Ergonomic Rubber Computer\",\n    price: 380.0,\n    boughtDate: \"Fri Apr 23 1982 22:38:15 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fde\",\n    productName: \"Incredible Fresh Pants\",\n    price: 67.0,\n    boughtDate: \"Tue Feb 10 1976 15:14:18 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fdf\",\n    productName: \"Awesome Metal Keyboard\",\n    price: 290.0,\n    boughtDate: \"Fri Oct 16 1992 04:20:38 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe0\",\n    productName: \"Handcrafted Fresh Bacon\",\n    price: 552.0,\n    boughtDate: \"Thu Mar 20 1975 20:57:13 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe1\",\n    productName: \"Sleek Fresh Cheese\",\n    price: 387.0,\n    boughtDate: \"Sun Jul 15 2012 07:39:52 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe2\",\n    productName: \"Gorgeous Concrete Keyboard\",\n    price: 813.0,\n    boughtDate: \"Sun Oct 04 2020 18:08:14 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe3\",\n    productName: \"Handmade Bronze Shoes\",\n    price: 844.0,\n    boughtDate: \"Wed Jun 01 2022 08:09:48 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe4\",\n    productName: \"Practical Plastic Keyboard\",\n    price: 129.0,\n    boughtDate: \"Sat Nov 01 1997 09:35:09 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe5\",\n    productName: \"Oriental Steel Hat\",\n    price: 796.0,\n    boughtDate: \"Fri Dec 01 2017 13:04:34 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe6\",\n    productName: \"Licensed Steel Gloves\",\n    price: 863.0,\n    boughtDate: \"Mon Feb 22 2016 12:25:31 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe7\",\n    productName: \"Practical Plastic Mouse\",\n    price: 337.0,\n    boughtDate: \"Sun Apr 12 1998 10:53:05 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe8\",\n    productName: \"Elegant Granite Hat\",\n    price: 602.0,\n    boughtDate: \"Mon Mar 15 2021 07:41:12 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fe9\",\n    productName: \"Gorgeous Granite Cheese\",\n    price: 106.0,\n    boughtDate: \"Tue Mar 19 1996 10:02:45 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fea\",\n    productName: \"Incredible Fresh Pants\",\n    price: 118.0,\n    boughtDate: \"Thu Nov 20 1986 04:23:32 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0feb\",\n    productName: \"Ergonomic Cotton Hat\",\n    price: 316.0,\n    boughtDate: \"Tue Dec 19 1989 12:57:50 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fec\",\n    productName: \"Fantastic Fresh Chips\",\n    price: 173.0,\n    boughtDate: \"Wed Jun 08 2022 04:50:11 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fed\",\n    productName: \"Modern Cotton Gloves\",\n    price: 392.0,\n    boughtDate: \"Tue Jun 15 2004 02:21:23 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fee\",\n    productName: \"Elegant Bronze Car\",\n    price: 469.0,\n    boughtDate: \"Tue Sep 17 1974 20:32:33 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fef\",\n    productName: \"Sleek Cotton Fish\",\n    price: 742.0,\n    boughtDate: \"Thu Dec 09 1982 21:38:33 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff0\",\n    productName: \"Generic Fresh Chips\",\n    price: 146.0,\n    boughtDate: \"Sun Nov 01 2015 21:10:10 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff1\",\n    productName: \"Handcrafted Bronze Mouse\",\n    price: 869.0,\n    boughtDate: \"Thu Aug 17 2023 05:33:01 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff2\",\n    productName: \"Practical Steel Mouse\",\n    price: 339.0,\n    boughtDate: \"Tue Feb 05 1991 20:23:06 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff3\",\n    productName: \"Luxurious Cotton Salad\",\n    price: 841.0,\n    boughtDate: \"Tue Mar 02 1976 21:51:55 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff4\",\n    productName: \"Oriental Metal Soap\",\n    price: 956.0,\n    boughtDate: \"Mon Apr 24 1972 04:45:37 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff5\",\n    productName: \"Intelligent Concrete Pizza\",\n    price: 156.0,\n    boughtDate: \"Sat Aug 18 2012 01:01:23 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff6\",\n    productName: \"Incredible Bronze Gloves\",\n    price: 900.0,\n    boughtDate: \"Sat Oct 24 1998 06:45:30 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff7\",\n    productName: \"Modern Frozen Shirt\",\n    price: 568.0,\n    boughtDate: \"Sun Jan 25 2009 17:48:15 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff8\",\n    productName: \"Electronic Frozen Cheese\",\n    price: 806.0,\n    boughtDate: \"Wed Sep 30 2015 01:18:11 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ff9\",\n    productName: \"Small Cotton Computer\",\n    price: 213.0,\n    boughtDate: \"Wed Jun 27 1984 04:26:52 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ffa\",\n    productName: \"Bespoke Bronze Bacon\",\n    price: 536.0,\n    boughtDate: \"Wed Nov 24 1976 18:16:41 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ffb\",\n    productName: \"Oriental Wooden Tuna\",\n    price: 805.0,\n    boughtDate: \"Tue Mar 08 2016 09:08:52 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ffc\",\n    productName: \"Handmade Granite Bacon\",\n    price: 13.0,\n    boughtDate: \"Mon Feb 23 1970 04:06:01 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ffd\",\n    productName: \"Recycled Granite Salad\",\n    price: 911.0,\n    boughtDate: \"Sat Feb 18 1995 15:17:00 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0ffe\",\n    productName: \"Handcrafted Cotton Mouse\",\n    price: 400.0,\n    boughtDate: \"Mon Dec 30 1996 03:45:50 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e0fff\",\n    productName: \"Refined Plastic Chair\",\n    price: 529.0,\n    boughtDate: \"Tue May 03 1988 10:07:07 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1000\",\n    productName: \"Intelligent Bronze Gloves\",\n    price: 695.0,\n    boughtDate: \"Thu Oct 13 1983 08:03:40 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1001\",\n    productName: \"Electronic Soft Chair\",\n    price: 807.0,\n    boughtDate: \"Sun Aug 05 2001 07:08:44 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1002\",\n    productName: \"Modern Cotton Pants\",\n    price: 154.0,\n    boughtDate: \"Sat Apr 29 1978 10:23:12 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1003\",\n    productName: \"Unbranded Metal Pants\",\n    price: 75.0,\n    boughtDate: \"Tue Jun 16 1970 00:01:25 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1004\",\n    productName: \"Sleek Fresh Keyboard\",\n    price: 156.0,\n    boughtDate: \"Sat Jul 29 2023 10:37:51 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1005\",\n    productName: \"Modern Granite Keyboard\",\n    price: 276.0,\n    boughtDate: \"Fri Sep 20 1974 08:25:30 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1006\",\n    productName: \"Sleek Plastic Cheese\",\n    price: 861.0,\n    boughtDate: \"Mon Sep 04 1989 00:49:55 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1007\",\n    productName: \"Recycled Fresh Ball\",\n    price: 878.0,\n    boughtDate: \"Sun Mar 02 1975 06:08:45 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1008\",\n    productName: \"Handmade Fresh Towels\",\n    price: 584.0,\n    boughtDate: \"Wed Apr 02 1975 02:47:50 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1009\",\n    productName: \"Recycled Cotton Chicken\",\n    price: 797.0,\n    boughtDate: \"Tue Jun 03 1986 18:47:35 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e100a\",\n    productName: \"Handcrafted Concrete Table\",\n    price: 819.0,\n    boughtDate: \"Mon Aug 27 1990 16:30:49 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e100b\",\n    productName: \"Incredible Plastic Sausages\",\n    price: 913.0,\n    boughtDate: \"Wed Jan 19 1977 12:59:15 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e100c\",\n    productName: \"Sleek Bronze Salad\",\n    price: 219.0,\n    boughtDate: \"Tue Aug 25 1992 17:19:48 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e100d\",\n    productName: \"Generic Cotton Ball\",\n    price: 914.0,\n    boughtDate: \"Wed Dec 06 1978 07:47:04 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e100e\",\n    productName: \"Unbranded Soft Tuna\",\n    price: 994.0,\n    boughtDate: \"Mon Aug 09 1999 12:55:40 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e100f\",\n    productName: \"Rustic Soft Keyboard\",\n    price: 827.0,\n    boughtDate: \"Mon Dec 02 2013 16:50:52 GMT+0900 (한국 표준시)\",\n  },\n  {\n    productId: \"66e1c1df3594bb65169e1010\",\n    productName: \"Ergonomic Rubber Keyboard\",\n    price: 490.0,\n    boughtDate: \"Sun May 18 2014 05:12:12 GMT+0900 (한국 표준시)\",\n  },\n];\n\ninterface MockData {\n  productId: string;\n  productName: string;\n  price: number;\n  boughtDate: string;\n}\n\nconst PER_PAGE = 10;\n\n// 페이지는 1부터 시작함\nexport const getMockData = (pageNum: number) =\u003e {\n  return new Promise((resolve) =\u003e {\n    setTimeout(() =\u003e {\n      const datas: MockData[] = MOCK_DATA.slice(\n        PER_PAGE * pageNum,\n        PER_PAGE * (pageNum + 1)\n      );\n      const isEnd = PER_PAGE * (pageNum + 1) \u003e= MOCK_DATA.length;\n\n      resolve({ datas, isEnd });\n    }, 1500);\n  });\n};\n\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyrmzz1%2Finfinite-scroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyrmzz1%2Finfinite-scroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyrmzz1%2Finfinite-scroll/lists"}