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 afterstalledSearchDelay
expires.'error'
. The search failed. The error is available in theerror
property.
The error that occurred during the search. This is only valid when
status
is 'error'
.