API reference

react-native-reorderable

ExportDescription
AccessibilityStringsLocalized labels and announcement formatters for semantic actions.
CollectionOrderOne collection in application order: its section identity and item identities.
DragDropContainerCoordinates one drag-and-drop scope and emits accepted drop commits.
DragDropContainerPropsProps accepted by DragDropContainer.
DraggableItemDeclares a draggable identity inside a drag-and-drop scope.
DraggableItemPropsProps accepted by DraggableItem.
DropAnnouncementContextContext passed to the accessible drop announcement formatter.
DropEventA committed move set and semantic drop-zone destination.
DropZoneDeclares a semantic destination in a drag-and-drop scope.
DropZonePropsProps accepted by DropZone, including the activation-time acceptance predicate.
EnginePolicyCaller policy: prefer native when available (auto) or require fallback.
ReorderAnnouncementContextContext passed to the accessible reorder announcement formatter.
ReorderDestinationIdentity-based insertion point: collection plus following item, or collection end.
ReorderEventOne reorder commit with its canonical move set, destination, and proposed complete order.
ReorderableContainerCoordinates fully mounted, free-form reorderable children.
ReorderableContainerPropsProps accepted by ReorderableContainer.
ReorderableItemDeclares a stable item identity in a free-form reorder container.
ReorderableItemLayoutExact virtualized item geometry in content coordinates.
ReorderableItemPropsProps accepted by ReorderableItem.
ReorderableListA controlled, vertically virtualized FlatList-shaped reorder viewport.
ReorderableListPropsProps accepted by ReorderableList; correctness-critical FlatList props are omitted.
ReorderableListRenderItemInfoThe item and index passed to a reorderable list renderer.
ReorderableListSectionMinimum section shape: a stable section identity and readonly item data.
ReorderableSectionDeclares a collection, header, and footer in a free-form container.
ReorderableSectionListA controlled, vertically virtualized SectionList-shaped reorder viewport.
ReorderableSectionListPropsProps accepted by ReorderableSectionList; correctness-critical props are omitted.
ReorderableSectionListRenderItemInfoThe item, index, and section passed to a section-list renderer.
ReorderableSectionPropsProps accepted by ReorderableSection.

react-native-reorderable/flash-list

Install @shopify/flash-list@^2.3.2 to use this optional entrypoint.

ExportDescription
ReorderableFlashListCertified FlashList 2.3 wrapper for flat virtualized reorder.
ReorderableFlashListPropsFlashList props with reorder-critical ownership and portable reorder props.
ReorderableFlashSectionListCertified FlashList 2.3 wrapper for sectioned virtualized reorder.
ReorderableFlashSectionListPropsFlashList props for sectioned data with reorder-critical ownership.

react-native-reorderable/legend-list

Install @legendapp/list@^3.3.3 to use this optional entrypoint.

ExportDescription
ReorderableLegendListCertified Legend List 3.3 wrapper for flat virtualized reorder.
ReorderableLegendListPropsLegend List props with reorder-critical ownership and portable reorder props.
ReorderableLegendSectionListCertified Legend List 3.3 SectionList wrapper.
ReorderableLegendSectionListPropsLegend SectionList props with reorder-critical ownership.

Shared container props

PropContract
`engine?: 'auto''fallback'`
enabled?: booleanDefaults to true. Changing to false during a drag cancels it and emits no callback.
selectedIds?: readonly string[]Application-owned reorder selection. Starting on a selected item moves the canonical selected move set; starting elsewhere moves only that item.
accessibilityStrings?: Partial<AccessibilityStrings>Overrides library-owned action labels and announcements. Item and zone labels remain application-owned.

Reorder callback

type ReorderEvent = Readonly<{
  sourceIds: readonly string[];
  destination: { sectionId: string | null; beforeId: string | null };
  nextOrder: readonly {
    sectionId: string | null;
    itemIds: readonly string[];
  }[];
}>;

sourceIds is canonical pre-move collection/item order, not selection chronology. beforeId: null means the end of the destination collection. nextOrder is a proposal computed against the latest rendered order; render it to accept the commit, delay it, or keep the prior order to restore.

Drop callback

type DropEvent = Readonly<{
  itemIds: readonly string[];
  destinationId: string;
}>;

canDrop(itemIds) is evaluated once when a pointer drag activates and that result remains fixed for the interaction. Accessible drop evaluates it when the action is invoked. onDrop reports a completed delivery; it is not a veto point.

Virtualized geometry

getItemLayout supplies exact { index, length, offset } geometry for flat lists. Section-list callbacks supply { length, offset }, where offset includes every preceding row plus section headers and footers. Without exact geometry the wrappers adapt measured sizes, using estimatedItemSize (default 64) until measurement is available.

The wrappers own vertical orientation, cell rendering, scrolling, stable identity, and other correctness-critical props. Horizontal, inverted, masonry, and multi-column layouts are deliberate v1 exclusions.