Quindi, ogni volta che la nostra posizione cambia qui nel selettore della posizione, voglio informare la schermata del nuovo luogo.
Bene, questo ovviamente significa che qui
quando ho scelto un posto sulla mappa o anche qui se ho ottenuto la posizione dell'utente, in entrambi i casi voglio attivare un
metodo o una funzione che mi aspetto di ottenere dalla schermata del mio nuovo posto.
Quindi la stessa cosa che stiamo facendo sul selettore di immagini alla fine. Lì una volta che ho scattato un'immagine, chiamo
oggetti di scena sull'immagine presa per chiamare una funzione che il componente genitore, quindi la
nuova schermata del luogo, può passare al selettore di immagini e voglio fare lo stesso qui, voglio
usare lo stesso modello qui nel selettore della posizione.
Quindi qui dopo aver scelto una posizione con il pulsante per favore, localizzami, voglio innescare oggetti
di scena sulla posizione scelta e inoltrare questa posizione alla fine, giusto e voglio fare esattamente la stessa cosa se avessi una nuova posizione sulla
mappa.
Quindi, oltre a impostare la posizione interna per aggiornare l'anteprima, in questo caso inoltrerò
qui la posizione di selezione della mappa. Quindi la posizione selezionata ora è un oggetto
che possiamo impostare sul selettore della posizione, quindi lo farò qui nella schermata del nuovo posto
e questo dovrebbe ora puntare a una funzione che riceverà la posizione scelta. Quindi qui possiamo aggiungere il gestore della posizione scelta, questa
è una funzione e questa funzione ovviamente riceverà la posizione alla fine e per il momento, accederò semplicemente alla console e
poi prenderò il nome della funzione qui e lo passerò a sulla posizione selezionata in modo che un
riferimento a questa funzione venga passato alla posizione selezionata nel selettore della posizione.
Ora una cosa importante, sul luogo scelto è abituarsi all'effetto d'uso qui, quindi dovremmo specificarlo
come una dipendenza, quindi per specificare solo questo
e non tutti i nostri oggetti di scena, userò questa sintassi distruttiva per ottenere il luogo scelto dei miei oggetti
di scena in questo modo, in modo da poterlo usare senza oggetti di scena.
Ora posso usarlo qui nella posizione scelta e ora per assicurarmi che non ci sia alcun loop infinito, nella nuova schermata
del luogo in cui facciamo con l'invio di questa funzione,
devo assicurarmi che il gestore della posizione scelto sia quello che faccio fornire sulla posizione scelta è una
funzione che non cambia continuamente.
Quindi, qui, importerò use callback e wrap use callback attorno al gestore della posizione selezionata, per evitare che questo venga ricreato con ogni
ciclo di re-rendering e quindi vado in un ciclo infinito e qui
uso callback non ha dipendenze perché lì dentro, in questo momento non sto facendo nulla
con i dati esterni.
Quindi ora dovremmo vedere quel registro speranzoso quando selezioniamo un utente con il pulsante Ottieni posizione utente
e sembra
buono, ecco il mio output e lo stesso se lo seleziono sulla mappa.
Quindi, se scelgo una posizione qui e faccio clic su Salva, ottengo anche questo output. Quindi sembra funzionare, questo qui è stato il mio primo output, questo
è stato
il secondo output per selezionarlo sulla mappa e, con ciò, abbiamo
le informazioni disponibili
nella schermata del nuovo posto, ora dobbiamo solo memorizzarle in qualche stato
lì mentre lo facciamo con il titolo e l'immagine, quindi la posizione selezionata e imposta la posizione selezionata,
la otteniamo con l'aiuto dello stato d'uso e ora possiamo chiamare impostare la posizione selezionata qui e impostare
la nostra posizione, in questo modo. Non è necessario specificarlo
come dipendenza, ma React garantirà che non cambi comunque, quindi non è
necessario specificarlo e ora abbiamo la posizione selezionata qui. Ora possiamo usarlo nel gestore del luogo di salvataggio, lì oltre a inoltrare
il valore del titolo e l'immagine selezionata,
ora possiamo anche inoltrare la posizione selezionata per aggiungere il luogo. E quindi la prossima cosa che faremo è lavorare sulla nostra
logica di Redux per tenere conto di quella posizione e questa è una cosa che manca in questo
momento,
assicurati anche di tradurre questa coppia di coordinate in un indirizzo leggibile anche dall'uomo.