TBX Docs
ExercisesHooks

useSortListExercise

Sort a list into correct order

Tracks order by index. Validates against [0, 1, ..., n-1]. Used by SortList.

Key returns

PropertyDescription
orderCurrent item order (indices)
reorderReorder items (e.g. drag-and-drop)
setOrderSet order directly
isCorrectWhether order matches solution
checkValidate order
resetReset to initial state

Example

import { useSortListExercise } from '@bside-tech/tbx-ui/hooks';

// Correct order is [0, 1, 2, 3] (indices of items)
// order[i] = which original item is at position i
const { order, reorder, setOrder, isCorrect, check, reset } = useSortListExercise({
  itemCount: 4,
  checkOn: 'manual',
});

// Move item from position 2 to position 0 (drag-and-drop)
reorder(2, 0);

// Or set full order (e.g. after shuffle)
setOrder([3, 1, 0, 2]);

// order might be [3, 1, 0, 2] → map to items: items[order[i]]

On this page