Hits
<Hits // Optional parameters hitComponent={function} />
About this widget
We released React InstantSearch Hooks, a new InstantSearch library for React. We recommend using React InstantSearch Hooks in new projects or upgrading from React InstantSearch.
Use the hits
widget to display a list of results.
To configure the number of hits retrieved, use the HitsPerPage
widget or pass the hitsPerPage
prop to a Configure
widget.
For guidance on how to search across more than one index, read the multi-index search guide.
Examples
1
2
3
import { Hits } from 'react-instantsearch-dom';
<Hits />
Props
hitComponent
|
type: function
Optional
Renders each hit from the results. If it is not provided, the rendering defaults to displaying the hit in its JSON form. The provided component is called with a |
||
Copy
|
HTML output
1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="ais-Hits">
<ul class="ais-Hits-list">
<li class="ais-Hits-item">
...
</li>
<li class="ais-Hits-item">
...
</li>
<li class="ais-Hits-item">
...
</li>
</ul>
</div>
Customize the UI with connectHits
If you want to create your own UI of the Hits
widget or use another UI library, you can use connectors.
Connectors are higher-order components. They encapsulate the logic for a specific kind of widget and they provide a way to interact with the InstantSearch context.
They have an outer component API that we call exposed props, and they provide some other props to the wrapped components which are called the provided props.
It’s a 3-step process:
// 1. Create a React component
const Hits = () => {
// return the DOM output
};
// 2. Connect the component using the connector
const CustomHits = connectHits(Hits);
// 3. Use your connected widget
<CustomHits />
Create a React component
const Hits = ({ object[] hits }) => {
// return the DOM output
};
Provided Props
hits
|
type: object[]
The hits that matched the search request. |
||
Copy
|
|||
insights
|
type: function
signature: (method: string, payload: object) => void
Sends insights events.
For more details on the constraints that apply to each |
||
Copy
|
Create and instantiate your connected widget
const CustomHits = connectHits(Hits);
<CustomHits />
Full example
1
2
3
4
5
6
7
8
9
10
11
import { connectHits } from 'react-instantsearch-dom';
const Hits = ({ hits }) => (
<ol>
{hits.map(hit => (
<li key={hit.objectID}>{hit.name}</li>
))}
</ol>
);
const CustomHits = connectHits(Hits);
Sending Click and Conversion events
Please refer to the guide on Sending Insight Events to learn about sending events from any InstantSearch widget.