2017-05-17 5 views
0

Ich habe eine GraphQL-Abfrage von Apollo + React, die ich auf einer Kartenkomponente verwende, wo die Parameter "Breite" und "Länge" sind. Die Variablen werden durch den Mittelpunkt der Karte bereitgestellt, und ich versuche, die Abfrage zu aktualisieren, wenn der Mittelpunkt oder die Zoomstufe geändert wird, kann aber keine "einfache" Möglichkeit finden, dies zu tun - vielleicht überschätze ich die Dinge.GraphQLabfrage mit neuen Variablen aktualisieren

Gibt es eine Möglichkeit, einfach zu sagen, hier sind einige neue Variablen, holen Sie sich neue Daten? Der einzige Ansatz, den ich bisher gesehen habe, bezieht sich auf Mutationen, aber es scheint, dass es mehr für das Einfügen neuer Werte verwendet wird. Irgendwelche Ideen oder Vorschläge wären großartig! Vielen Dank!

Antwort

0

Ihre Beschreibung klingt ziemlich verwirrt.

Wenn ich richtig verstehe, möchten Sie eine neue GraphQL-Abfrage senden, wenn sich die Kartenansicht (Zentrum und/oder Zoom-Ebene) ändert.

In diesem Fall würden Sie einfach die 'moveend' und 'zoomend' Ereignisse der Leaflet-Karte anhören und Ihre Abfrage basierend auf der neuen Kartenmitte und dem Zoom erneut senden (ich würde sagen, dass Port-Grenzen wahrscheinlich geeigneter wären).

+0

danke für Ihre Antwort! Die übergeordnete Komponente verwendet das folgende Element und die untergeordnete Komponente wird erneut abgerufen, bis der Ladevorgang abgeschlossen ist. Was ist nach dem 'moveend' -Ereignis aus dem Flugblatt der einfachste Weg, die lat/long-Variablen in der graphql-Abfrage zu aktualisieren? MapWithData = graphql (gql '{ waterSystemsNearby (long: 123456, lat: 123456, Entfernung: 1000) { LATITUDE LONGITUDE WATER_SYSTEM_NAME } }' } ... return () – matt

Verwandte Themen