Wenn sich unser Standort hier in der Standortauswahl ändert, möchte ich den neuen Ortsbildschirm informieren.
Nun, das bedeutet natürlich, dass
ich hier, wenn ich einen Ort auf der Karte ausgewählt habe oder auch hier, wenn ich den Benutzerstandort habe, in beiden Fällen
eine Methode oder eine Funktion auslösen möchte, die ich von meinem neuen Ortsbildschirm erwarte.
Also das Gleiche wie am Ende mit der Bildauswahl. Sobald ich ein Bild aufgenommen habe, rufe
ich Requisiten für das aufgenommene Bild auf, um eine Funktion aufzurufen, die die übergeordnete
Komponente, damit der neue Ortsbildschirm, an die Bildauswahl übergeben kann, und ich möchte hier dasselbe tun,
ich möchte dasselbe Muster verwenden hier in der Standortauswahl.
Nachdem ich einen Ort mit der Schaltfläche "Bitte finden Sie mich" ausgewählt habe, möchte ich Requisiten
für den ausgewählten Ort auslösen und diesen Ort am Ende weiterleiten, richtig, und ich möchte genau das Gleiche tun, wenn ich einen neuen Kartenstandort
habe.
Neben dem Festlegen des internen Standorts zum Aktualisieren der Vorschau werde ich in diesem Fall
hier den Standort für die Kartenauswahl weiterleiten. Die Auswahl des ausgewählten Standorts ist nun eine
Requisite, die wir für die Standortauswahl festlegen können. Daher werde ich dies hier im neuen Ortsbildschirm
tun. Dies sollte nun auf eine Funktion verweisen, die den ausgewählten Standort empfängt. Hier können wir also den Location-Handler hinzufügen. Dies ist
eine Funktion, und diese Funktion erhält natürlich am Ende den Location. Im Moment werde ich ihn einfach dort auf der
Konsole protokollieren und dann den Funktionsnamen hier übernehmen und an übergeben am ausgewählten Ort, sodass ein Verweis
auf diese Funktion an den ausgewählten Ort in der Standortauswahl übergeben wird.
Eine wichtige Sache bei der Auswahl des Standorts ist, dass der Verwendungseffekt hier verwendet
wird. Daher sollten wir ihn als Abhängigkeit
angeben. Um nur diese und nicht alle unsere Requisiten anzugeben, verwende ich diese Destrukturierungssyntax, damit ich vor Ort ausgewählt
werde von meinen Requisiten so, so dass ich es ohne Requisiten verwenden kann.
Jetzt kann ich es hier für den ausgewählten Standort verwenden und um sicherzustellen, dass wir keine Endlosschleife erhalten, muss ich auf dem
neuen Ortsbildschirm, auf dem wir diese Funktion senden, sicherstellen, dass
der für den Standort ausgewählte Handler genau das ist, was ich tue Die Bereitstellung vor Ort ist eine Funktion,
die sich nicht ständig ändert.
Also importiere ich hier Use Callback und Wrap Use Callback um meinen standortausgewählten Handler, um zu vermeiden, dass dies bei jedem
Re-Rendering-Zyklus neu erstellt wird. Daher gerate ich in eine Endlosschleife und
hier benötigt Use Callback keine Abhängigkeiten, da dort Im Moment mache ich nichts
mit externen Daten.
Jetzt sollten wir dieses Protokoll hoffentlich sehen, wenn wir entweder einen Benutzer mit der Schaltfläche "Benutzerstandort abrufen" auswählen und das
sieht gut aus.
Hier ist meine Ausgabe und das Gleiche, wenn ich sie auf der Karte auswähle.
Wenn ich hier einen Ort auswähle und auf Speichern klicke, erhalte ich auch diese Ausgabe. Das scheint also zu funktionieren, dies war meine erste Ausgabe, dies war
die zweite
Ausgabe zum Auswählen auf der Karte, und damit haben wir die
Informationen auf dem
neuen Ortsbildschirm verfügbar. Jetzt müssen wir sie nur noch in einem
bestimmten Zustand dort speichern Wenn wir dies mit dem Titel und dem Bild tun, also dem ausgewählten Ort
und dem festgelegten Ort, erhalten wir dies mithilfe des Verwendungsstatus. Jetzt können wir hier den ausgewählten Ort aufrufen
und unseren Ort wie folgt festlegen. Sie müssen dies nicht als Abhängigkeit
angeben, aber React garantiert, dass es sich sowieso nicht ändert, sodass Sie dies
nicht angeben müssen. Jetzt haben wir unseren ausgewählten Speicherort hier. Wir können dies jetzt im Handler zum Speichern von Orten verwenden. Dort können
wir neben dem Weiterleiten des Titelwerts und
des ausgewählten Bilds auch den ausgewählten Ort weiterleiten, um einen Ort hinzuzufügen. Und deshalb werden wir als nächstes an unserer Redux-Logik arbeiten,
um diesen Ort zu berücksichtigen, und das ist eine Sache, die derzeit fehlt. Stellen Sie außerdem sicher,
dass
wir dieses Koordinatenpaar, das wir erhalten, auch in eine von Menschen lesbare Adresse übersetzen.