Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
구현 요약
2024-10-20.191008.mp4
스크롤 이벤트가 계속 실행되면서 window의 높이를 구하게 되는데, 이는 성능에 문제가 생길 것으로 판단하여
debounce
를 적용했습니다!스크롤 이벤트에 자주 사용되는
throttle
방식이 아닌debounce
를 사용한 이유는 스크롤이 멈췄을 때 현재 스크롤 위치를 구하기 위함입니다.throttle
의 경우 이벤트가 진행되는 동안 지정된 시간마다 콜백 함수를 실행하는데, 스크롤이 끝나기 전에 콜백 함수를 실행한 뒤 지정된 시간 전에 스크롤이 끝났을 땐 더 이상 스크롤을 계산하지 않아 정확한 스크롤의 위치를 파악하기 어렵습니다.throttle
콜백 함수가 1회 더 실행되는 것이 맞다고 합니다..! 그런데 제가 작성했던 코드에서는 최상단에 도착해도 정확한 위치를 계산하지 못했어요 이 부분은 좀 더 확인이 필요할 것 같네용)throttle
사용 시20241020-0848-22.0216041.mp4
debounce
사용 시2024-10-20.194107.mp4
debounce
는 3회,throttle
은 11회 실행되더라구요!debounce
가 더 적게 실행되어 성능상 이점이 있어 보였습니다.GlobalStyles
의 body 부분에 transition이 걸려있지만 왜인지 작동하지 않았던 부분이라 .. 일단 모든 페이지에 트랜지션을 걸어놓았습니다😭연관 이슈
참고
코드 리뷰에
RCA 룰
을 적용할 시 참고해주세요.