Skip to content

[8주차/오스카] 워크북 제출합니다.#84

Open
OscarKang1 wants to merge 3 commits into
UMC-Inha:오스카/mainfrom
OscarKang1:main
Open

[8주차/오스카] 워크북 제출합니다.#84
OscarKang1 wants to merge 3 commits into
UMC-Inha:오스카/mainfrom
OscarKang1:main

Conversation

@OscarKang1
Copy link
Copy Markdown

✅ 워크북 체크리스트

  • 모든 핵심 키워드 정리를 마쳤나요?
  • 핵심 키워드에 대해 완벽히 이해하셨나요?
  • 이론 학습 이후 직접 실습을 해보는 시간을 가졌나요?
  • 미션을 수행하셨나요?
  • 미션을 기록하셨나요?

✅ 컨벤션 체크리스트

  • 디렉토리 구조 컨벤션을 잘 지켰나요?
  • pr 제목을 컨벤션에 맞게 작성하였나요?
  • pr에 해당되는 이슈를 연결하였나요?(중요)
  • 적절한 라벨을 설정하였나요?
  • 파트장에게 code review를 요청하기 위해 reviewer를 등록하였나요?
  • 닉네임/main 브랜치의 최신 상태를 반영하고 있는지 확인했나요?(매우 중요!)

📌 주안점

const lps = data?.pages.flatMap((page) => page.data) ?? [];

// 스크롤 이벤트 등록 — raw 이벤트는 매우 빠르게 발생하므로 state만 업데이트
useEffect(() => {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

현재 구조는 스크롤이 조금만 움직여도 setScrollY가 실행되어 HomePage 컴포넌트 전체가 여러 번 리렌더링되는 현상이 발생할 것 같습니다
또한, 스크롤할 때마다 실시간으로 상태가 바뀌다 보니 useThrottle은 컴포넌트가 다 재생성된 후에 뒤늦게 작동하여 최적화 역할을 못할 것 같습니다

스크롤 이벤트 핸들러 함수 자체를 Throttling으로 감싸서, setScrollY가 호출되는 빈도 자체를 일정시간에 한 번으로 제한 하는 것이 좋을 것 같습니다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants