모든 컴포넌트

MotionReorder

끌어서 순서를 바꾸는 목록과 격자. 키보드도 지원합니다.

웹React Native목록

직접 해 보기

예제를 준비하는 중…

가장 짧은 사용법

Playlist.jsx
<MotionReorder
  items={tracks}
  onItemsChange={setTracks}
  layout="list"
  renderItem={(track) => track.title}
/>;

대신 처리하는 일

  • 끄는 동안(reorder="live") 또는 놓은 뒤(reorder="drop") 다른 항목이 비켜 줍니다.
  • columns와 gap으로 목록과 격자 배치를 씁니다.
  • 웹에서는 키보드로 옮기고, React Native에서는 접근성 동작으로 옮깁니다.
  • items와 onItemsChange로 제어하거나 defaultItems로 맡길 수 있습니다.

이럴 때 쓰세요

  • 재생 목록.
  • 우선순위가 있는 백로그.
  • 사진 격자.

Props

Prop타입기본값설명
itemsreadonly T[]순서를 직접 제어할 때의 항목.
defaultItemsreadonly T[][]컴포넌트가 순서를 관리할 때의 시작 항목.
onItemsChange(items, { reason, key }) => void새 순서와, 변경이 드래그·놓기·키보드 중 어디서 왔는지로 실행됩니다.
getKey(item) => string | numberitem항목의 고유한 키를 돌려줍니다. 기본값은 항목 자체입니다.
renderItem(item, { index, dragging }) => ReactNodeitem.label항목을 그립니다. 인덱스와 끌리는 중인지를 받습니다.
reorder'live' | 'drop''live'live는 끄는 동안 다른 항목을 옮기고, drop은 놓을 때까지 기다립니다.
layout'list' | 'grid''grid'list 또는 grid.
columnsnumber3격자의 열 수.
gapnumber12항목 사이 간격(픽셀).
disabledbooleanfalse끌기를 끕니다.
durationnumber260비켜 주는 항목의 이동 시간(밀리초).
itemClassNamestring각 항목 요소의 클래스. 인라인 스타일은 itemStyle.

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

웹과 React Native

onItemsChange(items, { reason })는 변경이 드래그·놓기·키보드 중 어디서 왔는지 알려 줍니다.

React Native에서도 같은 props를 쓰고, 순서 바꾸기를 접근성 동작으로도 제공합니다.

검색

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