Suchfunktion mit Relay

8

Wie implementiert man eine Suchfunktionalität mit Relay?

Der Workflow ist also

  • Benutzer navigieren zu search form .

Es sollte keine Abfrage (wie im Relay-Container) bei der Initialisierung der Ansicht geben.

  • Benutzer füllt die Feldwerte und drückt die Aktion / Suche Taste.

Eine Relay-Abfrage wird an den Server gesendet

  • Ergebnisse werden vom Server empfangen.
Auf der Seite

wird sie angezeigt, und relay gleicht die Ergebnisse von filtered mit dem lokalen Cache ab.

Ich habe kein Beispiel für eine Ad-hoc-Abfrage gesehen, sondern nur einen Teil eines Relay-Containers (der vor der Initialisierung der Komponente aufgelöst wird). Also, wie man es modelliert. sollte es wie eine Mutation sein?

    
bsr 17.12.2015, 23:35
quelle

2 Antworten

13

Wenn ich richtig verstehe, möchten Sie überhaupt keine Abfrage für die Komponente senden, bis der Benutzer einen Suchtext eingibt, an dem die Abfrage gesendet werden soll. Dies kann mit dem Beispiel von @Xuorig erreicht werden, mit einem Zusatz: Verwenden Sie GraphQLs @include -Direktive, um das Fragment zu überspringen, bis eine Variable gesetzt ist. Hier ist das erweiterte Beispiel:

%Vor%

Diese Abfrage wird anfänglich übersprungen, da die include-Bedingung falsy ist. Dann kann die Komponente setVariables({query: someQueryText, hasQuery: true}) aufrufen, wenn die Texteingabe geändert wird. An diesem Punkt wird die Bedingung @include wahr und die Abfrage wird an den Server gesendet.

    
Joe Savona 21.12.2015, 22:58
quelle
2

So habe ich die einfache Suche in meinem Projekt implementiert:

%Vor%

Ihr Suchformular muss einfach die initialVariables mit this.props.relay.setVariables aktualisieren und relay wird die neuen Daten abfragen.

    
XuoriG 18.12.2015 01:54
quelle

Tags und Links