Ora abbiamo dato un'occhiata alla navigazione di base con la navigazione e la navigazione è il tuo strumento
più importante, ma in realtà quando sei all'interno di uno schermo, di un componente caricato con l'aiuto di un navigatore
dello stack, hai alternative per navigare.
Puoi anche usare push invece di navigare, anche se questo non accetta un oggetto Javascript ma prende qui solo il
nome della rotta, in questo
caso i pasti della categoria come primo argomento e con quello, otterrai lo stesso comportamento di prima.
La domanda ovviamente è perché dovresti usare questo.
Numero uno è un po 'più breve della navigazione perché non stai passando
un oggetto ma non
è questo il motivo principale, invece usare push qui può essere utile se vuoi andare a dire una pagina in cui ti trovi già.
Ora lascia che ti mostri cosa intendo.
Se lo ripristino e navigo alle categorie qui, quindi alla schermata della categoria che
è la schermata in cui mi trovo già. Se lo faccio con la navigazione, vedrai che
non accadrà nulla se tocco questo.
Ora, se uso push invece e quindi passo solo le categorie come primo argomento perché è così che funziona
push, vedrai che ora funziona e posso andare più volte sullo stesso schermo ed
è inserito nello stesso stack e ancora.
Ora, naturalmente, potresti chiederti perché dovrei voler spingere lo schermo su cui sono già su questo.
Ora in molte app potresti non averne bisogno, ma supponiamo che tu stia creando un'app come Dropbox in cui hai
cartelle tra le
quali gli utenti possono navigare, se ti
trovi in una cartella, vuoi andare in un'altra cartella.
Ora ogni cartella è tecnicamente la stessa schermata della cartella, solo con contenuto diverso caricato in essa. In tal caso, potresti voler passare dalla cartella A
alla B che utilizza lo stesso componente, la stessa schermata alla fine ma con contenuti diversi, in
tal caso puoi usare push per essere ancora in grado di spingere quella nuova schermata che è
lo stesso schermo nello stack e carica lo stesso schermo con contenuti diversi, questo sarebbe uno scenario in
cui potresti averne bisogno. In questa app, non
ne abbiamo bisogno, quindi non c'è bisogno di push ma lo hai in scenari in
cui la
navigazione non ti porta a quella schermata,
push lo farà sempre all'interno di un navigatore dello stack. Qui, tuttavia, ripristinerò questo per navigare che prende un oggetto con un nome di rotta che
quindi punta a categorie perché qui, non abbiamo assolutamente bisogno di spingere, cioè pasti di categoria però. Quindi questo farà per questa app, ora hai anche
altre opzioni di
navigazione esplicite, diciamo dalla schermata dei
pasti della categoria, vuoi poter tornare indietro.
Bene, naturalmente, siamo in grado di tornare indietro con l'aiuto di questo pulsante Indietro, ma non è nemmeno
così atipico che in alcune app, hai qualche altra cosa che i tuoi utenti possono fare dove vuoi riportarli
indietro, ad esempio diciamo ti trovi in una pagina in cui puoi impostare alcune configurazioni
e quando fai clic sul pulsante Salva, vuoi salvare quella configurazione e vuoi anche lasciare la schermata.
Ora, per questo scenario, potresti voler attivare manualmente una navigazione posteriore e non aspettare che l'utente prema il
pulsante Indietro perché ciò potrebbe costringere l'utente a premere prima un pulsante di salvataggio e poi a
tornare indietro manualmente che non è la migliore esperienza utente.
Quindi qui, simulerò questo semplicemente premendo un pulsante Indietro qui nella nostra schermata, quindi nel nostro
codice jsx e quando lo premiamo, voglio poter tornare indietro, voglio attivare manualmente
una navigazione indietro.
Puoi farlo con l'aiuto del puntello di navigazione perché lì, hai un metodo di ritorno che
puoi chiamare e questo fa proprio quello che sembra.
Se lo salviamo e vado ai pasti, se faccio clic su torna indietro, riproduciamo la navigazione indietro.
Tecnicamente, questo si stacca dallo schermo in cui ci troviamo e quindi
torna alla schermata precedente nello stack. In alternativa per tornare indietro, se ti trovi in un navigatore dello
stack, hai anche pop che fa quello che il nome
implica, si stacca dallo schermo corrente sullo stack e poiché vedi sempre lo schermo più in alto sul tuo dispositivo, anche questo riproduce la
navigazione posteriore, quindi questa è un'alternativa al tornare indietro. La differenza è che il pop può essere utilizzato solo se si
è in
un navigatore dello stack, tornare indietro è disponibile anche in altri navigatori che useremo più avanti in questo modulo.
A volte, vorrai anche tornare indietro fino al componente
principale, diciamo qui nella schermata MealDetailScreen. Lì possiamo anche aggiungere un pulsante
e su questo pulsante qui, voglio tornare alle mie categorie
diciamo e quindi, aggiungerò onPress e in questa funzione qui, posso usare il pop di navigazione degli oggetti di
scena, giusto, perché questo ci riporta indietro .
Bene, il problema ovviamente è che mi riporta indietro ma solo allo schermo prima di questo schermo, quindi allo schermo.
Vengo da. Voglio tornare alla schermata delle
categorie, quindi voglio saltare due schermate contemporaneamente.
Per questo hai pop in alto, questo
è un altro metodo che puoi chiamare che semplicemente salta da tutte le schermate dallo stack e ti
riporta alla schermata principale.
Quindi se fai clic su questo, otteniamo l'animazione posteriore e torniamo alla nostra schermata principale che
in questo caso è
la schermata della categoria, quindi questa è un'alternativa qui. Ora, con quello, c'è solo un'ultima possibile
azione di navigazione che a volte potresti aver bisogno. Diciamo nella schermata delle categorie, vuoi andare ai pasti della
categoria ma non vuoi aggiungerlo allo stack ma vuoi invece sostituire il componente corrente nello stack con esso, in modo che ci sia ancora
solo uno schermo in lo stack ma quella schermata è quindi una nuova pagina, ciò significa anche che
non sarai in grado
di tornare indietro sulla nuova pagina perché lo stack sarà vuoto in seguito, il che
significa che la tua app verrà chiusa.
Quindi, nel caso tu voglia farlo, puoi usare sostituisci. Sostituisci anche come push
prende solo un identificatore come questo e sostituisci ti porta anche alla nuova schermata, tuttavia non riproduce alcuna animazione in
avanti, invece salta immediatamente lì e non ottieni alcun pulsante indietro automaticamente perché lo
stack è vuoto altrimenti, questo è il solo schermo.
Questo potrebbe essere usato ad esempio su una schermata di accesso in cui un utente ha effettuato l'accesso e una
volta effettuato l'accesso, l'utente non dovrebbe essere in grado
di tornare alla schermata di accesso, quindi puoi semplicemente sostituire la schermata di accesso con la tua connessione sullo schermo con
il profilo utente o qualcosa del genere.
Se provi ancora a tornare indietro, non succede nulla perché non puoi tornare indietro,
non c'è nient'altro nello stack. Pertanto, ovviamente, sostituire non è assolutamente
ciò di cui abbiamo bisogno in questa app, volevo solo introdurlo qui, anche se vedremo più modelli disponibili e come andare avanti
e indietro tra le pagine e quando si potrebbe voler sostituire o passare da una schermata
all'altra in questo modo in questo modulo, volevo solo introdurlo a questo punto, ancora qui, tornerò a navigare
con il nome del percorso che punta ai pasti della categoria. E con ciò, hai avuto una panoramica di alcuni dei metodi di navigazione di base che
ti consentono di andare avanti e indietro tra i tuoi schermi. Come ho già detto, ovviamente vedremo molti
schemi in azione in questo modulo, per ora è così e direi che, a parte questo, è
tempo di aggiungere effettivamente un po 'di carne a questa applicazione, assicurarsi che sia un un'applicazione più realistica e non
solo un'applicazione fittizia come è attualmente.