모든 컴포넌트

MotionSwipe

밀어서 동작을 드러내고, 원하면 밀어서 없애는 행.

웹React Native제스처

직접 해 보기

예제를 준비하는 중…

가장 짧은 사용법

Row.jsx
<MotionSwipe
  endActions={<button onClick={() => archive(id)}>Archive</button>}
  dismiss="end"
  onDismiss={() => remove(id)}
>
  <MessagePreview />
</MotionSwipe>;

대신 처리하는 일

  • 행이 가로 드래그를 따라오고, 동작 너머에서 버티며, 손을 뗀 속도로 멈춥니다.
  • dismiss가 있으면 길게 밀거나 던졌을 때 행이 밀려 나가 높이가 접힌 뒤 onDismiss(side)가 실행됩니다.
  • 세로 스크롤은 그대로이고, 한 번에 한 행만 열려 있습니다.
  • 열린 행을 누르면 닫히고, 동작에 키보드 포커스가 가면 드러납니다.

이럴 때 쓰세요

  • 받은편지함의 보관·삭제.
  • 대화 고정.
  • 목록에서 항목 빼기.

Props

Prop타입기본값설명
childrenReactNode행의 내용.
startActionsReactNode행을 끝 방향으로 끌 때 시작 쪽에 드러납니다.
endActionsReactNode행을 시작 방향으로 끌 때 끝 쪽에 드러납니다.
dismiss'start' | 'end' | 'both'길게 밀거나 던지면 행을 치우는 쪽.
onDismiss(side) => void행이 밀려 나가고 접힌 뒤 실행됩니다. 여기서 데이터의 항목을 지우세요.
onOpenChange(side | null) => void열린 쪽으로, 닫히면 null로 실행됩니다.
disabledbooleanfalse밀기를 끕니다.
contentClassNamestring행 내용의 클래스. 인라인 스타일은 contentStyle.
transitionTransitionspring시간 곡선 { duration, easing } 또는 스프링 { tempo: 'spring', spring }. 스프링은 끊겨도 속도를 이어갑니다.

그 밖의 props는 그려지는 요소로 전달되므로 className, style, 이벤트 핸들러를 평소처럼 쓸 수 있습니다.

웹과 React Native

startActions는 끝 방향으로 끌 때, endActions는 시작 방향으로 끌 때 드러납니다. 행 내용의 배경은 contentClassName으로 주세요.

React Native에서도 같은 props와 제스처를 씁니다.

이 컴포넌트를 쓰는 예제

검색

입력하면 문서를 검색합니다.