This is the React InstantSearch v7 documentation.
If you’re upgrading from v6, see the upgrade guide.
If you were using React InstantSearch Hooks,
this v7 documentation applies—just check for necessary changes.
To continue using v6, you can find the archived documentation.
Signature
Import
JavaScript
About this Hook
A React Hook that lets you access the InstantSearch API and interact with its state. This is useful to access and update the UI state, access the search results, refresh the search, or use middleware. Hooks must be used inside the<InstantSearch> component.
Examples
Parameters
If
true, errors thrown by InstantSearch are handled by InstantSearch
and are available in the error property.
Set catchError to false if you want to handle these errors elsewhere.Returns
setIndexUiState
(indexUiState: IndexUiState) => void | ((prevIndexUiState: IndexUiState) => IndexUiState) => void
Updates the
uiState of the parent index.This function either takes a new index uiState object,
or a function that exposes the current index uiState object and returns a new one.Make sure to mount the widget responsible for the UI state.
For example, mount a
<RefinementList>
(or a virtual widget)
for the refinementList UI state to take effect.The search results.
The
uiState of the search.This is an object with each index name as key and the current UI state for that index as value.Function to update the
uiState of the search.This function either takes a new uiState object,
or a function that exposes the current uiState object and returns a new one.Make sure to mount the widget responsible for the UI state.
For example, mount a
<RefinementList>
(or a virtual widget)
for the refinementList UI state to take effect.An array with the results of the index,
as well as the results of all adjacent
<Index> widgets.TypeScript
The
renderState of the parent index.The
renderState of the search.Clears the search client’s cache and performs a new search.This is useful to update the results once an indexing operation has finished.
Adds a
middleware. It returns its own cleanup function.JavaScript
The status of the search happening.Possible values are:
'idle'. There currently is no search happening.'loading'. The search is loading. This can be used for immediate feedback of an action, but for loading indicators, use'stalled'instead.'stalled'. The search is stalled. This gets triggered afterstalledSearchDelayexpires.'error'. The search failed. The error is available in theerrorproperty.
The error that occurred during the search. This is only valid when
status is 'error'.