2017-02-26 4 views
1

Ich benutze die react instant Suche von algolia und ich habe eine Anforderung, jedes Mal ein Overlay anzuzeigen, wenn es ein Ergebnis gibt.React InstantSearch: onSearchStateChange bekomme die Anzahl der zurückgegebenen Treffer

also ich möchte es über onSearchStateChange Funktion von Algolia zur Verfügung gestellt. aber ich bin immer noch verwirrt, wo man die Gesamttreffer bekommt. Ich habe bereits eine Idee, die sehr schnell ist, wie die Ergebnisse, die durch das Extrahieren der Zahlen über jquery angezeigt werden. aber ich will es nicht tun. Gibt es einen anderen Weg, den Sie vorschlagen können?

onSearchStateChange(nextState) { 

    //must get the number of total hits. 

    nextState = cleanDeep(nextState); 
    let filters = transformer(nextState); 
    this.setState({ 
     searchState: nextState, 
     filters: filters, 
     searchChanged: true 
    }) 
    this.sendToAti(filters); 

    this.addOverlay(); // <--- function that will show the overlay. 

    location.hash = qs.stringify(nextState); 
} 

Antwort

3

Die onSearchStateChange Funktion enthält nicht die searchResults Objekt, in dem Sie die Anzahl der Treffer finden.

Wir bieten jedoch ein <Stats> Widget und einen connectStats Connector, der diese Informationen enthält. Vielleicht könntest du das benutzen?

Verwandte Themen