1 00:00:02,230 --> 00:00:12,550 Quindi voglio avere un pulsante di salvataggio nella mia intestazione e per quello, ovviamente, dobbiamo aggiungere opzioni di navigazione nella schermata della mappa e 2 00:00:12,550 --> 00:00:19,620 usare il modulo funzione lì, in modo da avere accesso a questo nav, quell'oggetto con l'oggetto di 3 00:00:20,070 --> 00:00:25,500 navigazione e lì dentro , Voglio restituire il mio oggetto di configurazione. 4 00:00:25,500 --> 00:00:28,070 Potresti aggiungere un titolo di intestazione, ma in realtà sono 5 00:00:28,200 --> 00:00:32,040 felice senza uno, ma voglio impostare l'intestazione proprio qui e ora importante, qui puoi ovviamente usare 6 00:00:32,190 --> 00:00:39,960 i pulsanti di intestazione e rendere una bella icona ma in realtà, renderò del testo qui. Quindi importerò il componente di testo o 7 00:00:40,350 --> 00:00:46,080 mi assicurerò di averlo importato. Renderò un po 'di testo qui 8 00:00:46,330 --> 00:00:51,720 dove dirò solo di salvare e ovviamente potresti anche aggiungere un controllo della 9 00:00:51,720 --> 00:00:53,050 piattaforma per 10 00:00:53,130 --> 00:01:02,510 rendere maiuscolo questo su Android se lo desideri, dirò semplicemente salva così e quindi aggiungerò uno stile qui Aggiungo il mio stile 11 00:01:02,510 --> 00:01:09,050 di testo del pulsante di intestazione e intorno a quello, voglio avere una vista tangibile, 12 00:01:09,050 --> 00:01:15,770 quindi userò l'opacità tangibile qui che quindi devi anche importare, non da lì ma in realtà 13 00:01:15,770 --> 00:01:24,050 da React Native, quindi l'opacità toccabile dovrebbe essere importata da React Native e con quello importato, possiamo avvolgerlo attorno a 14 00:01:24,050 --> 00:01:31,770 questo testo per creare i nostri pulsanti, per così dire e lì, voglio anche aggiungere uno stile e 15 00:01:31,770 --> 00:01:40,270 quello stile avrà un identificatore del pulsante di intestazione, diciamo. Ora, premendo su questo, voglio salvare ciò che abbiamo aggiunto o salvare la nostra posizione che abbiamo 16 00:01:40,270 --> 00:01:46,780 scelto, ma è qualcosa che farò in un secondo, per ora modelliamo questo. Quindi laggiù nel foglio di stile, per il pulsante dell'intestazione 17 00:01:46,780 --> 00:01:53,440 che è quell'opacità tangibile, aggiungerò un margine orizzontale di 20 per avere una spaziatura attorno al pulsante a sinistra e a destra e 18 00:01:53,440 --> 00:01:58,060 sul testo del pulsante dell'intestazione qui, è ovviamente su a te cosa vuoi aggiungere lì, 19 00:01:58,060 --> 00:02:05,920 ma aggiungerò una dimensione del carattere di 16 diciamo e importante, il colore. Per questo, ho bisogno dell'API della piattaforma perché il colore deve 20 00:02:05,920 --> 00:02:11,440 essere diverso, poiché questo è nell'intestazione che ha uno sfondo solido su Android ma non su iOS, 21 00:02:11,500 --> 00:02:19,960 posso impostare il mio colore qui, il mio colore del testo su Piattaforma. Il sistema operativo è uguale ad Android, quindi per controllare questo e su Android lo 22 00:02:19,960 --> 00:02:26,550 imposterò su bianco e in caso contrario, lo imposterò su Colori. primario e per quello, come 23 00:02:26,620 --> 00:02:32,610 sempre, assicurati di importare i tuoi colori costanti da lassù. 24 00:02:32,690 --> 00:02:38,180 Quindi ora abbiamo il pulsante Salva, quando premiamo il pulsante Salva, voglio attivare una funzione che dovrebbe essere definita nel 25 00:02:38,180 --> 00:02:43,370 componente e che è anche qualcosa che abbiamo fatto più volte nel corso, ti ho mostrato come puoi comunicare 26 00:02:43,370 --> 00:02:50,360 tra il tuo componente e anche le tue opzioni di navigazione qui. Quindi possiamo essenzialmente aggiungere una nuova funzione 27 00:02:50,390 --> 00:03:00,090 qui, salvare il gestore della posizione scelto, qualunque cosa tu voglia nominarla e questa funzione o un riferimento a questa funzione dovrebbe essere passato 28 00:03:00,110 --> 00:03:05,100 alle opzioni di navigazione e per questo, possiamo usare il buon vecchio 29 00:03:05,100 --> 00:03:12,150 gancio effetto uso e usa il callback per evitare questo loop infinito se ricordi e possiamo quindi 30 00:03:12,150 --> 00:03:21,520 avvolgerlo con l'uso del callback e quindi usare l'effetto qui per dire alle nostre opzioni di navigazione su questo usando i parametri di 31 00:03:21,520 --> 00:03:32,600 navigazione di props set e quindi voglio impostare il mio parametro di posizione di salvataggio qui al gestore della posizione di salvataggio scelto, quindi passa un riferimento 32 00:03:32,610 --> 00:03:39,390 a questa funzione, a questo parametro o con questo parametro alle mie intestazioni e l'effetto dell'uso ovviamente 33 00:03:39,390 --> 00:03:46,590 dipende dalla funzione del gestore di posizione di salvataggio del salvataggio, quindi lo aggiungerò come dipendenza qui e 34 00:03:46,590 --> 00:03:55,040 importante ora, usare callback qui ha anche una serie di dipendenze perché qui, voglio sostanzialmente lasciare questa pagina e tornare indietro, 35 00:03:55,160 --> 00:04:00,130 quindi qui posso usare la navigazione degli oggetti di scena tornare indietro 36 00:04:00,230 --> 00:04:05,630 e lo faremo in un secondo, ma per ora, noi può fare questo. 37 00:04:06,940 --> 00:04:13,420 E quindi, normalmente, ovviamente, questa funzione di ritorno sarebbe la mia dipendenza, ma per evitare un ciclo infinito, con questo 38 00:04:13,450 --> 00:04:18,180 approccio dobbiamo usare usando i parametri per aggiornare il componente che già ci troviamo, 39 00:04:18,370 --> 00:04:24,280 in realtà aggiungerò un array vuoto qui come dipendenza, in modo che questa funzione non sia effettivamente ricostruita 40 00:04:24,310 --> 00:04:25,420 in questo momento. 41 00:04:25,480 --> 00:04:30,790 Quindi, con ciò, possiamo estrarre questo parametro di posizione di salvataggio nella nostra intestazione. 42 00:04:30,790 --> 00:04:41,190 Quindi qui, voglio puntare alla mia funzione di salvataggio che ottengo con navData. navigazione. getParam che punta all'identificatore della posizione di 43 00:04:41,190 --> 00:04:48,480 salvataggio e quindi alla funzione di salvataggio è la funzione che collego al gestore onPress 44 00:04:48,480 --> 00:04:50,050 sull'opacità tangibile. 45 00:04:50,070 --> 00:04:59,030 Quindi questo dovrebbe attivare questa funzione di salvataggio, questa funzione di gestione della posizione di salvataggio selezionata qui. Con quello salvato se torniamo indietro, proviamo, andiamo a 46 00:04:59,060 --> 00:05:00,710 scegliere sulla 47 00:05:00,740 --> 00:05:08,210 mappa e se ora faccio clic su Salva, dovrebbe semplicemente tornare indietro e lo fa. 48 00:05:08,240 --> 00:05:13,280 Quindi funziona, ma ovviamente adesso, non sto salvando nessuna posizione, non sto usando nessuna posizione, questo è 49 00:05:13,280 --> 00:05:15,080 il passo successivo e per 50 00:05:15,080 --> 00:05:21,110 questo dobbiamo passare la posizione scelta dall'utente nella schermata precedente. Con il ritorno, è relativamente difficile ma 51 00:05:21,110 --> 00:05:25,970 invece possiamo usare un modello che non avevo mai usato prima in questo 52 00:05:26,540 --> 00:05:34,010 corso, posso usare anche navigare qui per tornare indietro. Posso navigare nella mia nuova schermata dei luoghi con il nuovo identificativo 53 00:05:34,070 --> 00:05:41,810 dei luoghi come impostato qui nel navigatore dei miei luoghi e poiché sono già su uno schermo davanti a quella nuova schermata dei luoghi, non 54 00:05:41,810 --> 00:05:42,990 dimenticare che questa 55 00:05:43,070 --> 00:05:48,260 è una pila di schermi e io sono su uno schermo in cima alla schermata del nuovo 56 00:05:48,290 --> 00:05:53,040 posto, questo in realtà non spingerà questa schermata del nuovo posto in cima allo schermo esistente, 57 00:05:53,270 --> 00:05:56,020 potremmo forzarlo con la spinta ma non voglio, 58 00:05:56,030 --> 00:06:03,890 invece tornerà indietro ma ora usando la navigazione, posso aggiungere alcuni parametri qui. Posso aggiungere la mia posizione prescelta e lì, puntare sul 59 00:06:04,040 --> 00:06:12,980 puntello di posizione selezionato che si spera mantenga la mia posizione scelta. Ora da quando uso la posizione selezionata qui e poiché queste modifiche, 60 00:06:12,980 --> 00:06:18,320 aggiungerò questa come dipendenza per usare la richiamata in modo che questa funzione venga ricreata 61 00:06:18,650 --> 00:06:23,900 quando abbiamo scelto una nuova posizione e voglio assicurarmi di avere una posizione qui 62 00:06:23,900 --> 00:06:30,800 , quindi controllerò se la posizione selezionata o per essere precisi, se non ne abbiamo una, quindi se questo 63 00:06:30,830 --> 00:06:32,300 non è definito, 64 00:06:32,330 --> 00:06:37,580 il che significa che l'utente non ha ancora scelto uno, quindi tornerò e non 65 00:06:37,820 --> 00:06:44,750 continuerò e possiamo anche mostrare un avviso qui se vogliamo. Ora non lo farò qui, ma potresti mostrare un 66 00:06:44,780 --> 00:06:46,780 avviso se lo desideri. 67 00:06:46,950 --> 00:06:52,110 Quindi ora saremo in grado di fare clic su Salva solo se abbiamo scelto una posizione, ma se 68 00:06:52,110 --> 00:06:54,740 lo facciamo, lo imposteremo effettivamente sui parametri della nostra 69 00:06:54,750 --> 00:06:57,250 azione di ritorno. Proviamo, andiamo lì, 70 00:06:57,250 --> 00:07:03,250 fai clic su picK sulla mappa e ora tieni presente che non ho ancora scelto alcuna posizione, non ho ancora 71 00:07:03,280 --> 00:07:04,630 cliccato da nessuna parte, quindi 72 00:07:04,630 --> 00:07:09,160 se faccio clic su Salva, non succede nulla. Se scelgo una posizione e faccio clic su Salva, ci torno comunque. 73 00:07:09,970 --> 00:07:17,560 Quindi ora possiamo usare i dati che passiamo indietro dalla schermata della mappa nel nostro selettore di posizione per aggiornare l'anteprima della mappa 74 00:07:17,590 --> 00:07:18,890 lì, quindi è 75 00:07:18,910 --> 00:07:20,290 la prossima cosa che farò.