middleware
function middleware({ instantSearchInstance }) {
return {
onStateChange({ uiState }) {},
subscribe() {},
unsubscribe() {}
}
}
const search = instantsearch({
// ...
})
search.use(middleware);
About this widget
Middleware is a function that returns an object with onStateChange
, subscribe
, and unsubscribe
functions.
The middleware
function doesn’t perform any actions itself but allows you to inject functionality into InstantSearch.js:
- For example, you can send events to Google Analytics
- To send click and conversion events, use the
insights
middleware.
Requirements
InstantSearch.js v4.8.3 or later.
Examples
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function middleware({ instantSearchInstance }) {
return {
onStateChange({ uiState }) {
// Do something with `uiState` whenever the state changes.
},
subscribe() {
// Do something when the InstantSearch instance starts.
},
unsubscribe() {
// Do something when the InstantSearch instance is disposed of.
}
}
}
// Declare your instantSearch instance normally
const search = instantsearch({
// ...
})
// Use your middleware function
search.use(middleware);
Options
Parameter | Description | ||
---|---|---|---|
instantSearchInstance
|
type: object
Required
You have access to the instance of |
||
Copy
|
Hooks
Parameter | Description | ||
---|---|---|---|
onStateChange
|
type: ({ uiState }) => void
Required
The function is called with |
||
Copy
|
|||
subscribe
|
type: () => void
Required
This function is called when the InstantSearch instance starts (when |
||
Copy
|
|||
unsubscribe
|
type: () => void
Required
The function is called when the InstantSearch instance is disposed of. You can clean up anything you initiated in the |
||
Copy
|