-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Park] Intersect Listener #35
Conversation
✅ Deploy Preview for idyllic-puffpuff-476e23 ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
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.
SSR, Node 환경까지 고려해서 작업하신게 인상깊네요!
LGTM!! 👍
/** | ||
* | ||
* @name IntersectListener | ||
* @description scroll 이벤트를 사용하지 않고, IntersectionObserver를 사용하여 대상 요소의 가시성을 감지합니다. | ||
* @props rootMargin - root 가 가진 여백입니다. `default: 0px 0px 0px 0px` | ||
* @props threshold - observer의 콜백이 실행될 대상 요소의 가시성 퍼센티지입니다. (0~1) `default: 0.0` | ||
* @props onIntersect - 대상 요소가 가시성에 들어왔을 때 실행될 콜백입니다. | ||
* @props unobserve - observer를 해제할지 여부입니다. `default: false` | ||
* @example | ||
* ```tsx | ||
* <IntersectListener | ||
* onIntersect={() => setPage((prev) => prev + 1)} | ||
* unobserve={page === 3} | ||
* > | ||
* <FlexBox sx={{ width: '1240px', flexWrap: 'wrap', gap: '40px 10px' }}> | ||
* {elements.map((element) => ( | ||
* <Card key={element} number={element} /> | ||
* ))} | ||
* </FlexBox> | ||
* </IntersectListener> | ||
* ``` | ||
*/ |
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.
호옹...VSCode 에서 확인해보니 확실히 따로 문서 확인을 할 필요가 없어서 사용법 파악하기가 훨씬 편하네요 ^_^)b 짱입니당
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.
jsdoc 좋네용! 유지보수할 때 좋을거 같아여!
SSR을 고려하니 확실히 useEffect를 꽤 쓰게 되네여 잘봤습니다!!
cbe6324
to
bd35a7f
Compare
close #33
Infinity Scroll 을 구현하기 위한 Intersect Listener 입니다.
한번 구현해보셨다면 어렵지 않게 로직 파악을 하실 수 있을텐데, 특이하다고 생각되는 몇 개만 설명하겠습니다
jsdoc
을 활용하면 더 생산성이 좋아지겠다는 생각으로 도입해보았습니다.