Core Hooks
useInstantSearch
Access the InstantSearch instance and search state
useSearchBox
Build a custom search box
useHits
Access search results
useInfiniteHits
Build infinite scroll for results
useRefinementList
Build custom refinement lists
useMenu
Build custom menu navigation
usePagination
Build custom pagination
Installation
Basic Usage
Why Use Hooks?
Hooks give you full control over your search UI:- Custom Rendering: Build components that match your design system
- Direct Access: Get direct access to search state and functions
- Composability: Combine multiple hooks in a single component
- TypeScript Support: Full type safety for your search UI
Available Hooks
State Management
- useInstantSearch: Access the InstantSearch instance, UI state, and global search state
Search Box
- useSearchBox: Build custom search inputs with query management
Results
- useHits: Display paginated search results
- useInfiniteHits: Build infinite scroll results
Refinements
- useRefinementList: Multi-select faceted filters
- useMenu: Single-select faceted navigation
- useToggleRefinement: Boolean filters
- useNumericMenu: Numeric range filters
- useRangeInput: Custom range inputs
- useRangeSlider: Range slider filters
Navigation
- usePagination: Page-based navigation
- useBreadcrumb: Hierarchical navigation breadcrumbs
- useHierarchicalMenu: Hierarchical menu navigation
Sorting & Configuration
- useSortBy: Index sorting
- useConfigure: Dynamic search parameter configuration
Metadata
- useStats: Search statistics
- useCurrentRefinements: Active filters