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.
If you’re using the deprecated
recommend-react
UI library,
see <TrendingItems>
.Signature
Import
JavaScript
About this widget
Use the<TrendingItems>
widget to display a list of trending items.
See also: Set up Algolia Recommend
You can also create your own UI with
useTrendingItems
.Examples
JavaScript
With carousel layout
Display the<TrendingItems>
widget as a scrollable carousel.
JavaScript
Props
The facet attribute for which to get recommendations.
This parameter should be used along with
facetValue
.JavaScript
The value for the targeted facet name.
This parameter should be used along with
facetName
.JavaScript
A component that renders each recommendation from the results.
It receives an
item
prop.When not provided, the widget displays the recommendation as a JSON string.JavaScript
headerComponent
(props: { classNames: string[], items: THit[], translations: object }) => JSX.Element
A component that renders a title header. It receives
classNames
, items
and translations
props.When not provided, the widget displays a default header.JavaScript
A component that renders when there are no recommendations.When not provided, the widget displays a default message.
JavaScript
The layout component to use to wrap all items.React InstantSearch provides a built-in
<Carousel>
layout component with the following props:classNames
:root
. The Carousel’s root element.list
. The list of recommendations.item
. The list item.navigation
. The navigation controls.navigationPrevious
. The “Previous” navigation control.navigationNext
. The “Next” navigation control.
translations
:nextButtonLabel
. The label for the next button.nextButtonTitle
. The title for the next button.previousButtonLabel
. The label for the previous button.previousButtonTitle
. The title for the previous button.listLabel
. The label for the list of recommendation.
previousIconComponent
. The component to render as the previous button.nextIconComponent
. The component to render as the next button.The number of recommendations to retrieve.
Depending on the available recommendations and the other request parameters,
the actual number of items may be lower than that.
If
limit
isn’t provided or set to 0, all matching recommendations are returned.JavaScript
The threshold for the recommendations confidence score (between 0 and 100).
Only recommendations with a greater score are returned.
JavaScript
List of search parameters to send.
JavaScript
List of search parameters to send as additional filters when there aren’t enough recommendations.
JavaScript
Whether to escape HTML tags from recommendations string values.
JavaScript
A function that receives the list of items before they are displayed.
It should return a new array with the same structure.
Use this to transform, filter, or reorder the items.The function also has access to the full
results
data,
including all standard response parameters
and parameters from the helper,
such as disjunctiveFacetsRefinements
.The CSS classes you can override and pass to the widget’s elements.
It’s useful to style widgets with class-based CSS frameworks like Bootstrap or Tailwind CSS.
root
. The widget’s root element.emptyRoot
. The root element without results.title
. The widget’s title element.container
. The container of the list element.list
. The list of recommendations.item
. The list item.
JavaScript
A mapping of keys to translation values.
title
. The title of the recommendation section.sliderLabel
. The label of the horizontal slider.
JavaScript
Any
<div>
prop to forward to the widget’s root element.JavaScript
Hook
React InstantSearch let you create your own UI for the<TrendingItems>
widget with useTrendingItems
.
Hooks provide APIs to access the widget state and interact with InstantSearch.
The useTrendingItems
Hook accepts parameters and returns APIs.
It must be used inside the <InstantSearch>
component.
Usage
First, create your React component:JavaScript
JavaScript
Parameters
Hooks accept parameters. You can either pass them manually or forward props from a custom component.When passing functions to Hooks, ensure stable references to prevent unnecessary re-renders.
Use
useCallback()
for memoization.
Arrays and objects are automatically memoized.The facet attribute for which to get recommendations.
This parameter should be used along with
facetValue
.JavaScript
The value for the targeted facet name.
This parameter should be used along with
facetName
.JavaScript
The number of recommendations to retrieve.
Depending on the available recommendations and the other request parameters,
the actual number of items may be lower than that.
If
limit
isn’t provided or set to 0, all matching recommendations are returned.JavaScript
The threshold for the recommendations confidence score (between 0 and 100).
Only recommendations with a greater score are returned.
JavaScript
List of search parameters to send.
JavaScript
List of search parameters to send as additional filters when there aren’t enough recommendations.
JavaScript
Whether to escape HTML tags from recommendations string values.
JavaScript
A function that receives the list of items before they are displayed.
It should return a new array with the same structure.
Use this to transform, filter, or reorder the items.The function also has access to the full
results
data,
including all standard response parameters
and parameters from the helper,
such as disjunctiveFacetsRefinements
.APIs
Hooks return APIs, such as state and functions. You can use them to build your UI and interact with React InstantSearch.The matched recommendations returned from Algolia.