"Pull to Refresh"는 모바일 앱에서 화면을 아래로 당겼다가 놓으면 데이터가 새로 고쳐지는 기능입니다. 주로 리스트나 피드처럼 업데이트가 필요한 화면에서 자주 사용됩니다. 예를 들어, SNS 피드를 아래로 당기면 새로운 게시물이 자동으로 로드되는 방식입니다.
<aside> 💡
새로 데이터를 받아오는 것(Refresh) 대신에 Refetch하는게 더 효율적이지 않나요?
무한 스크롤로 데이터를 많이 가져온 상황에서 다시 데이터를 새로 받아오려면, 기존에 로드한 데이터만큼을 다시 리패치해야 하기 때문에 비효율적입니다. 이 경우 Pull to Refresh를 통해 새로고침하는 것이 더 효율적입니다. Pull to Refresh는 간단히 현재 데이터를 갱신할 수 있어, 이미 불러온 대량의 데이터를 다시 로드하는 리소스를 절약할 수 있습니다.
</aside>
우리는 웹뷰를 사용하고 있기 때문에 웹에서 <InfiniteScroller /> 를 활용하여 Pull to Refresh를 적용해보겠습니다.
먼저 <InfiniteScroller /> 에 있는 Pull to Refresh와 관련된 속성부터 알아볼까요?
pullDownToRefrestrue로 설정하면 사용자가 화면을 아래로 당길 때 새로고침을 시도할 수 있습니다.pullDownToRefreshThreshold150으로 설정하면, 사용자가 화면을 150px 이상 당길 때 풀투리프레시가 가능한 상태로 변합니다.pullDownToRefreshContentreleaseToRefreshContent