한 줄 요약
bind 객체를 타겟에 펼쳐 붙이면 상하좌우 스와이프 콜백과 실시간 드래그 오프셋방향을 주는 훅입니다.
이럴 때 필요해요
손가락 제스처로 화면 요소를 넘기거나 치워야 할 때 카드 스택(수락/거절), 모바일 갤러리 넘김, 바텀시트 dismiss 등.
어떻게 동작하나
pointerdown에서 시작점을 잡고 pointer capture한다.
pointermove로 누적 delta와 우세 축 방향을 추적한다.
pointerup에서 threshold를 넘으면 해당 방향 콜백을 부른다.
콜백은 ref에 보관해 매 렌더 최신 핸들러를 호출한다.
놓치기 쉬운 것
우세 축(x vs y) 판정으로 대각선 흔들림을 흡수한다.
세로 스크롤과 충돌하면 touch-action으로 의도를 명시한다.
마우스 사용자를 위해 화면 버튼 등 대체 경로도 둔다.
이런 곳에 써요
Tinder식 카드 덱
모바일 이미지 캐러셀바텀시트