Skip to content
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

[FE] refactor: 리뷰 목록 페이지에서 isLastPage가 true일 때, IntersectionObserver 해제 #737

Merged

Conversation

soosoo22
Copy link
Contributor

@soosoo22 soosoo22 commented Sep 26, 2024


🚀 어떤 기능을 구현했나요 ?

  • 서버로부터 isLastPage를 받아서 true일 경우 observer를 해제했습니다.
  • 작성 내용 확인 모달에서 가로 스크롤을 숨겼습니다.

🔥 어떻게 해결했나요 ?

리뷰 목록 페이지에서 상세 페이지로 이동한 후 다시 목록 페이지로 돌아올 때, 동일한 리뷰가 중복으로 추가되는 오류가 있었습니다. 모든 리뷰를 다 받았음에도 불구하고 마지막 리뷰에 IntersectionObserver가 계속 달려서 발생한 문제로 파악됩니다.

이를 해결하기 위해 서버에서 isLastPage 값을 함께 보내주도록 수정했습니다. isLastPage가 true일 경우, 더 이상 추가적인 데이터를 불러오지 않도록 IntersectionObserver를 해제했습니다. 그리고 리뷰 요청 개수 size 디폴트값이 5가 아닌 10으로 변경되었습니다!!

문제 상황

2024-09-26.11.23.42.mov

작성 내용 확인 모달 가로 스크롤 숨기기

  • AnswerListContainer
    감싸는 AnswerListModalContent를 추가해서 overflow-x: hidden을 주었습니다.

📝 어떤 부분에 집중해서 리뷰해야 할까요?

📚 참고 자료, 할 말

  • 화이팅...

@chysis chysis added this to the 5차 스프린트 milestone Sep 26, 2024
@soosoo22 soosoo22 changed the title [FE] refactor: 작성 내용 확인 모달에서 가로 스크롤 숨기기 [FE] refactor: 리뷰 목록 페이지에서 isLastPage가 true일 때, IntersectionObserver 해제 Sep 26, 2024
@@ -9,7 +9,7 @@ const useGetReviewList = () => {
queryFn: ({ pageParam }) =>
getReviewListApi({
lastReviewId: pageParam === 0 ? null : pageParam, // 첫 api 요청 시, null 값 보내기
size: pageParam === 0 ? 10 : 5, // 첫 api 요청 시, 10개의 리뷰를 불러오고 그 이후로는 5개씩 불러온다.
size: 10,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

size 변경 이유가 뭘까요?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

중간에 정책이 바꼈는데 아직 공지가 안 됐던 상황이라고 들었어요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵넵 에프이 말이 맞아요🙂 중간에 바뀌었는데 공지가 안 되었어요.. 다들 바쁘다 보니까😭

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

추가로 받아오는 리뷰 개수가 10개 미만이어도 오류는 없는건가요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일단 목 데이터 개수 조절해서 해봤는데 오류는 없네요..

Copy link
Contributor

@ImxYJL ImxYJL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고했어요!!!! 지하철이라 컴퓨터를 못켜네요... 일단 확인했다는 의미로 코멘트 남깁니다!

@@ -9,7 +9,7 @@ const useGetReviewList = () => {
queryFn: ({ pageParam }) =>
getReviewListApi({
lastReviewId: pageParam === 0 ? null : pageParam, // 첫 api 요청 시, null 값 보내기
size: pageParam === 0 ? 10 : 5, // 첫 api 요청 시, 10개의 리뷰를 불러오고 그 이후로는 5개씩 불러온다.
size: 10,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

나중에 상수화 합시당~

@@ -2,6 +2,11 @@ import styled from '@emotion/styled';

import media from '@/utils/media';

export const AnswerListModalContent = styled.div`
width: 100%;
overflow-x: hidden;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stylint 적용하면 overflow-x가 width 위에 있어야해요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

적용했습니다. 고마워요!!

Copy link
Contributor

@BadaHertz52 BadaHertz52 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

풀 받아서 모바일(크롬,삼성 인터넷), 웹 브라우저(크롬,firefox)에서 모두 확인했어요

무스는 목 데이터 조작해서, 추가 api 필요한 상황과 아닌 상황 분리해서 테스트했어요 (무스는 크롬 웹 브라우저에서만 확인했어요)
로컬에서 잘 돌아가네요! 부디 서버와 연동에서도 잘 되기를!!!

Copy link
Contributor

@chysis chysis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생했어요!

@chysis chysis merged commit 97f28f6 into develop Sep 26, 2024
6 checks passed
nayonsoso pushed a commit that referenced this pull request Sep 26, 2024
…해제 (#737)

* refactor: 가로 스크롤을 숨기기 위해 AnswerListModalContent 추가

* refactor: ReviewList 인터페이스에 isLastPage 추가

* refactor: isLastPage가 true일 때, IntersectionObserver 해제

* refactor: 리뷰 요청 개수 size를 10으로 수정

* refactor: 목 데이터 응답에 isLastPage 값 추가

* chore: stylelint 적용
@donghoony donghoony deleted the fe/design/736-hide-horizontal-scroll-confirmation-modal branch October 10, 2024 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
4 participants