-
Notifications
You must be signed in to change notification settings - Fork 8
[6주차] Team Menual 신용섭 & 최무헌 과제 제출합니다. #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
feature: tabBar 구현
- Resolved package-lock.json conflict - Integrated tabBar and folder structure from main branch
feat: detailPage구현
refactor: mainPage에 popular 추가
|
고생하셨습니다!! 후기에서 말씀하신것처럼 폴더 구조를 많이 고민한것같아보입니다!! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그냥 개인적 궁금인데 prettier 설정도 두분이 협의하셨나요?? 다른팀은 어떤지 궁금해서요..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안쓰는 파일은 정리해도 좋을것같습니다
|
|
||
| return ( | ||
| <div className="min-h-screen bg-black pt-[44px]"> | ||
| {/* 검색창 */} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| }, | ||
| { | ||
| threshold: 0, | ||
| rootMargin: "200px", // 화면 하단 200px 전에 미리 로드 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그리고 무한스크롤이 작동 안하고있는것같습니다
| } | ||
| return undefined; | ||
| }, | ||
| //staleTime: 1000 * 60 * 5, // 5분간 캐시 유지 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5분간 캐시 유지되게 한점 좋은것같습니다 !! 이런 생각은 안해봤는데 좋은 아이디어같습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
화면 전체 크기를 설정하지 않고 축소하면 계속 축소되도록 의도하신건가요?? 개인적으로는 화면 크기가 고정되어있는것도 좋을것같습니다
| onChange={(e) => setQuery(e.target.value)} | ||
| autoFocus | ||
| /> | ||
| <button onClick={() => setQuery("")} className="p-1 shrink-0"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
검색창에서 x 버튼을 누르면 입력 내용이 삭제되는 기능이 있으니까 호버 기능도 넣었어도 좋았을것 같습니다!!
| @@ -0,0 +1,25 @@ | |||
| import Previews from "../../components/features/Home/Previews"; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
절대경로 일관되게 적용하시는게 더 좋을 거 같습니다..!
| .filter(Boolean) | ||
| .join(" ")} | ||
| /> | ||
| <span className={`text-[8.2px] ${active ? "text-white" : "text-[#8c8787]"}`}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const url = `/api/tmdb/movie/popular?language=${encodeURIComponent(language)}`; | ||
| const res = await fetch(url, { cache: "no-store" }); | ||
| if (!res.ok) throw new Error(`TMDB error: ${res.status}`); | ||
| return res.json(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
axios 적용 추천 드려요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TabBar 파일 위치가 components 안에 Home폴더 밖에 있는게 더 자연스러울 거 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| key={i} | ||
| className="flex items-center bg-[#424242] mb-[3px] h-[76px] animate-pulse" | ||
| /> | ||
| )) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
검석어가 없을 때에는 무한스크롤이 작동이 안하는거 같은데 의도하신건가요..?? 아니라면 수정이 필요해 보입니다
sungahChooo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요! 코드 잘 봤습니다 과제하느라 수고 정말 많으셨어요 !!!!👏🏻



링크: https://next-netflix-22nd-eosin.vercel.app/
협업 과정
카톡을 통해서 역할을 조율하고 이슈를 공유하였습니다.
뿌듯한 점: Branch를 페이지 단위로 나누어서 개발을 진행하였는데, 이 과정에서 시행착오가 많았지만 값진 경험이었고 보다 더 실무적으로 개발할 수 있어 좋았습니다.
아쉬운 점: PR이나 이슈를 제대로 적용하지 못한 점이 아쉬웠습니다
Research Question
5->6주차 과제 진행하면서 중점적으로 고려한 사항에 대해 작성해 주세요.
무헌:
저는 이번 6주차에서 상세 페이지를 구현하게 되었습니다.
처음에 따로 상세페이지 API를 만들어서 파라미터로 해당 영화의 ID 값을 넘겨주어 정보들을 받아와야 한다고 생각했습니다
그러나 6주 차의 예시 템플릿을 보고 search param으로 필요한 정보들을 전달하고 있다는 것을 발견하였습니다.
따라서 추가적인 API요청 없이 기존에 받아온 DATA를 이용해 클릭 시 링크 형태로 넘겨주어 상세페이지를 구현할 수 있었습니다.
용섭:
검색페이지에서 실제로 우리는 끝까지 내려가야만 스크롤이 되지 않기에 UX 관점에서 200px전에 다음 페이지 로딩이 되도록 했습니다. useInfiniteQuery를 사용해 getNextPageParam으로 다음 페이지 계산하고, hasNextPage, isFetchingNextPage로 중복 요청을 방지했습니다. 또한 UX관점에서 자연스러움을 주기 위해 로딩 중 스켈레톤UI를 적용했습니다.
최종폴더구조