useTableState

Provides state management for a table component. Handles building a collection of columns and rows from props. In addition, it tracks row selection and manages sort order changes.

installyarn add @react-stately/table
version3.0.0
usageimport {useTableState} from '@react-stately/table'

API#


useTableState<T>( (props: TableStateProps<T> )): TableState<T>Cell( (props: CellProps )): ReactElementColumn<T>( (props: ColumnProps<T> )): ReactElementRow( (props: RowProps )): ReactElementTableBody<T>( (props: TableBodyProps<T> )): ReactElementTableHeader<T>( (props: TableHeaderProps<T> )): ReactElement

Interface#


Properties

NameTypeDescription
collectionTableCollection<T>A collection of rows and columns in the table.
showSelectionCheckboxesbooleanWhether the row selection checkboxes should be displayed.
sortDescriptorSortDescriptorThe current sorted column and direction.
disabledKeysSet<Key>A set of keys for rows that are disabled.
selectionManagerSelectionManagerA selection manager to read and update row selection state.
editModeCellKeyThe key of the cell currently in edit mode if any.

Methods

MethodDescription
sort( (columnKey: Key )): voidCalls the provided onSortChange handler with the provided column key and sort direction.
setEditModeCell( (value: Key )): voidSets the key of the cell currently in edit mode if any.

Example#


See the docs for useTable in react-aria for an example of useTableState, Cell, Column, Row, TableBody, and TableHeader.