개발자

React Native 에서 컴포넌트가 화면에 노출되는 시점을 알고 싶습니다.

2023년 06월 09일조회 549

react-native에서 intersection observer 같은 기능 알고 계신 분 있으신가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

손정현님의 프로필 사진

안녕하세요! 쌩 react-native에서는 intersection observer 인터페이스가 따로 없는걸로 알고 있습니다. 직접 레이아웃에서 컴포넌트의 크기를 계산하고 현재 viewport에 있는지 확인하는 로직을 구현해야할 수도 있습니다. 잠깐 검색해봤을때는 유사한 시도를 한 npm 패키지가 하나 있는데 브라우저에서 제공하는 Intersection Observer API와 동일한 효능을 보일지는 미지수입니다. 그리고 android, ios에서 동일하게 작동하는지도 확인이 필요합니다. 그래도 한번 참고차 확인해보시면 좋을 것 같아요 :) - https://github.com/zhbhun/react-native-intersection-observer

이영준님의 프로필 사진

componentDidMount 화면이라면 focus로 판단하져

권준동님의 프로필 사진

저도 필요해서 찾아봤는데, 마땅히 맘에 드는게 없어서 직접 만들어 봤습니다. https://www.npmjs.com/package/react-native-observable-list react-native-intersection-observer는 중첩 스크롤뷰는 탐지가 안되더라구요. https://www.npmjs.com/package/react-native-intersection-observer setInterval 방식은 너무 많이 마운트되면 JS 스래드가 너무 많이 떨어지는 문제가 있었습니다. https://www.npmjs.com/package/@futurejj/react-native-visibility-sensor https://www.npmjs.com/package/@coffeebeanslabs/react-native-inviewport https://www.npmjs.com/package/react-native-viewport-detector

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!