Wir machen also gute Fortschritte.
Wir haben alle unsere Navigatoren oder fast alle migriert.
Was ist nun mit dem Schalter Navigator leer von Navigator HIER.
Nun, wir haben Sie mit Sicherheit aus dem Navigator entfernt.
Es ist ein Stack Navigator, der für den Off-Screen und uns verantwortlich ist.
Was ist mit dem Switch Navigator?
Nun, wir müssen den Navigator nicht mehr wechseln.
Es gibt kein Slash-Switch-Paket für die Navigation oder ähnliches.
Aber ich werde darauf zurückkommen, wenn wir es brauchen.
Lassen Sie uns jetzt unseren Off-Navigator oder unseren Off-Stack-Navigator hier erstellen, indem Sie den Navigator aufrufen.
Durch Aufrufen von create stack navigator und Exportieren unseres konstanten Off-Navigator-Jahres, das wiederum eine
Reaktionskomponente darstellt, wie zuvor, wenn wir den Stack-Navigator-Punktnavigator zurückgeben.
Und dort haben wir unseren Office Deck Navigator Punktbildschirm und der Name des Bildschirms ist aus.
Da wir es hier haben und eine Komponente haben, die wir brauchen, ist sie außerhalb des Bildschirms.
Jetzt haben wir hier die Teufels-NAF-Optionen.
Daher sollten die Bildschirmoptionen im Navigator die Standardoptionen für das Nickerchen und 40 bildschirmspezifische Optionen sein.
Werfen wir einen Blick auf den Off-Screen und wenn wir nach unten scrollen, haben wir auch hier einige Optionen.
Exportieren wir also unsere Bildschirmoptionen hier genauso wie zuvor.
Lassen Sie es uns exportieren und dann hier und auf diesem Bildschirm zum Shop-Navigator gehen.
Lassen Sie uns zwei Off-Screen-Optionen festlegen, die wir jetzt
auch ganz oben als Off-Screen-Import hinzufügen müssen. Wir importieren Bildschirmoptionen als Off-Screen-Optionen.
Jetzt haben wir auch diesen Startbildschirm, aber wenn wir uns die Vergangenheit genauer ansehen, haben wir
nur direkt in unserem Switch Navigator darauf hingewiesen, was uns nur eine Frage lässt.
Was ist mit diesem Switch-Navigator?
In der Vergangenheit war dies der erste Bildschirm, den Sie nach dem Laden des Apfels sehen, da
dies der oberste erste Bildschirm in dieser Konfiguration ist.
Und dann hatten wir Logik in dem alten Navigationscontainer, den wir zuvor erstellt haben, in dem wir überprüft haben, ob wir
authentifiziert sind. Wenn dies nicht der Fall wäre, würden wir den Benutzer zu diesem Off-Screen umleiten, wenn
wir nicht authentifiziert wären.
Wann würden wir nun den Bildschirm des Shops erreichen?
Schauen wir uns dazu den Startbildschirm an.
Dort sehen wir, dass wir versucht haben, uns zu authentifizieren, und hier würden wir schließlich zum Bildschirm des Shops gehen, wenn die
automatische Anmeldung erfolgreich war.
Das war die Logik, die wir dort geschrieben haben.
Das ist immer noch eine Logik, die sehr viel Sinn macht.
Wir müssen es nur für das neue Navigationspaket anpassen. Am Ende sehen wir hier, dass wir am Anfang
des Bildschirms versuchen, den Benutzer zu sperren, und wenn wir keine auf dem Gerät gespeicherten Benutzerdaten finden können, gehen wir
auf die Off-Seite.
Wenn wir feststellen, dass Daten über das Token abgelaufen sind oder nicht, gehen wir zur Off-Seite.
Wenn es uns jedoch mit allem gelingt und wir ein gültiges Token haben, gehen wir stattdessen zur Shop-Seite und
senden eine Aktion aus, bei der wir den Benutzer authentifizieren, der den Status
ändert, und unseren Redux-Speicher, der die Token auf das Token in unserem Shop setzt jetzt jetzt können wir das nutzen.
Was ist, wenn wir all diese Navigationsaufrufe hier loswerden, damit wir sie löschen oder einfach auskommentieren können, während ich es
hier mache?
Also werden wir stattdessen alle diese Navigationsaktionen los.
Was passiert, wenn wir hierher zurückkehren?
Wenn wir hierher zurückkehren, stoppt die Ausführung von Funktionsstörungen Indiana richtig.
Es hört auf.
Und was wir definitiv nicht tun, ist, dass wir definitiv keine Maßnahmen ergreifen.
Wir setzen den Token also definitiv nicht auf irgendetwas.
Es ist immer noch nein.
Das passiert hier immer, es sei denn, wir schaffen es nach unten. In diesem Fall haben wir einen Token.
Wir haben uns versandt und der Token ist nicht null.
Sie sind oft in unserem Laden.
Das Token, das wir mit Redux verwalten, ist also schon jetzt oder es enthält einen Wert.
Jetzt möchte ich den Redux-Speicher etwas anpassen.
Der Aus-Teil davon und Sie alle für den Benutzer und ich werde diesem Status
ein neues Datenelement hinzufügen, und das ist der Versuch aller, sich anzumelden.
Sie können es benennen, wie Sie möchten, und ich werde es hier zunächst auf false setzen.
Ich möchte speichern, ob wir versucht haben, den Benutzer anzumelden oder nicht.
Nun, wenn wir uns authentifizieren.
Wenn wir also eine Aktion mit dieser Kennung auslösen, habe ich versucht, mich automatisch auf true anzumelden.
Ich werde hier auch eine neue Aktion in "Aktionen aus" hinzufügen und dafür werde ich hier
oben eine neue Kennung hinzufügen, die ich benennen werde. Set hat versucht oder ein L für die automatische Anmeldung hat versucht, ein L zu erstellen und einen Aktionsersteller
dafür zu erstellen set hat ein L ausprobiert, das keine Argumente akzeptiert.
Und wo ich mein Aktionsobjekt nicht zurückgegeben habe, wird nur festgelegt, wo es eingegeben werden soll.
Habe ein l versucht ..
Sie können es auch am Ende der Datei einfügen, spielt keine Rolle.
Warum mache ich das jetzt?
Das wirst du in der Sekunde sehen.
Kehren wir zum Reduzierstück zurück, wenn Sie das Reduzierstück ausschalten und diesen neuen Fall behandeln.
Das Fallset hat ein l versucht.
Stellen Sie sicher, dass Sie auch aus Aktionen von jetzt importieren. Jedes Jahr geben wir einen neuen Status zurück, in dem ich den alten Status kopiere
und in dem ich sagte, dass ich versucht habe, mich automatisch bei true anzumelden, damit das Token immer noch Wissen ist. Setzen Sie
dies einfach auf true.
Jetzt ist meine Idee, dass ich diese Aktion hier im Startbildschirm versende.
In allen Szenarien, in denen wir zuvor zum Off-Screen gegangen sind, haben wir versucht, uns anzumelden, aber es
ist uns nicht gelungen.
Also ja, ich werde Set versenden, habe es mit A versucht. L. L. Stellen Sie also sicher, dass Sie bei Ihren Aus-Aktionen genau so darauf
zugreifen, und tun Sie dies in diesen beiden Fällen, in denen wir zuvor zum Off-Bildschirm navigiert haben.
Jetzt haben wir dieses neue Feld und Redux und warum mache ich das?
Warum ist das hilfreich?
Nun, mit React Navigation 5 gibt es keinen Switch-Navigator mehr, weil wir ihn nicht mehr
benötigen, da wir jetzt unser gesamtes Routen-Setup verwalten.
Warum sind Komponenten? Wir können Komponenten nur dynamisch rendern, damit sie einen Effekt haben, oder sie nicht
so rendern, dass sie im App-Navigator angezeigt werden, in dem ich meinen Produktnavigator rendere.
Es ist jetzt an der Zeit, alle diese zu konfigurierenden Navigatoren hinzuzufügen und dann im Shop-Navigator
zu entscheiden, welcher Navigator wann gerendert werden soll.
Ich möchte jetzt tatsächlich diesen Shop-Navigator
hier importieren, den ich wieder als Konstante exportieren werde, und dann hier einen App-Navigator, den ich im
Shop-Navigator importiere.
Das ist unsere Auslosung eines Navigators.
Denken Sie daran und das möchte ich hier rendern.
Shop Navigator.
Das ist also im Grunde das, was ich rendern möchte, wenn wir in unserem Shop eingeschlossen
sind. Das haben wir diesem Shop-Schlüssel im Switch-Navigator zugeordnet.
Jetzt brauchen wir alle den Aus-Navigator auf dem Startbildschirm.
Also hier ein App Navigator.
Ich werde den Off-Navigator importieren und dies sind die einzigen zwei Navigatoren, die ich hier importieren muss.
Daher können Sie die Exportanweisung für alle anderen Navigatoren hier in unserer Shop-Navigator-Datei entfernen. Was jedoch
auch in den App-Navigator importiert werden muss, ist jetzt der Startbildschirm.
Importieren wir also den Startbildschirm vom Startbildschirm des Bildschirms und jetzt haben wir hier den Shop-Navigator.
Wir haben den Off Navigator als Alternative und wir haben auch einen tiefen Startbildschirm, jetzt wird nur einer
der freien und gerendert.
Und hier können wir jetzt Redux wiederverwenden.
Ich kopiere den Verwendungsselektor, da die Informationen der Site über das Token, an
dem ich auch interessiert bin, das gesamte Anmeldefeld ausprobiert haben, das ich hier zum Status "Aus" hinzugefügt habe.
Dieses neue Feld wurde hinzugefügt. Ich kann jetzt hier in meiner App-Navigator-Datei darauf zugreifen und es speichern. Ich habe
alle versucht, mich konstant anzumelden.
Jetzt weiß ich, dass ich rendern möchte, um einzukaufen, wenn dies alles wahr ist, und wie wir das tun können, wenn wir authentifiziert sind.
Ich rendere immer zum Einkaufen, mir ist nichts anderes wichtig.
Jetzt möchte ich den Off-Navigator rendern, wenn er fehlerhaft ist, und wir haben versucht, uns anzumelden, denn wenn
wir nicht versucht haben, uns automatisch anzumelden, möchte ich den Startbildschirm tatsächlich rendern, wenn wir nicht authentifiziert sind
und dies auch getan haben Versuchen Sie noch nicht, sich automatisch anzumelden.
Dann wissen wir nicht, ob der Benutzer ein Authentifikator sein könnte oder nicht.
In diesem Fall möchte ich jetzt auf dem Startbildschirm rendern. Ich möchte schnell einen POS dort und stelle sicher, dass wir
alle auf derselben Seite sind und wir alle verstehen, warum wir dies jetzt anstelle des Switch-Navigators verwenden.
Zunächst einmal gibt es in der Reaktionsnavigation 5 keinen Schalternavigator mehr.
Aber warum wurde es entfernt.
Nun, da wir jetzt alles mit Komponenten konfigurieren, können wir reguläre Reaktionstools verwenden, um entweder eine Komponente zu
rendern oder nicht.
Wenn Sie nicht an die Navigation denken, sondern an einen normalen Bildschirm, auf dem Sie möglicherweise
einen Text haben, den Sie nur bedingt anzeigen möchten, verwenden Sie einen bestimmten Status. In J ist X, und Sie rendern
beispielsweise nur manchmal einen Text mit einem ternären Ausdruck .
Und wir machen hier dasselbe mit unserer Routenkonfiguration mit unseren Bildschirmkonfigurationen hier. Das Bildschirmkonfigurationssetup,
das wir hier haben, sind verschiedene Navigatoren. Um den Bildschirm zu starten, sind dies letztendlich
alles nur Dinge, die reagieren sollten, um etwas auf die zu bringen Bildschirm und reagieren Navigation hinter den
Kulissen staubig schwer abheben Interpretieren Sie unsere Konfiguration und stellen Sie sicher, dass die richtige
Komponente auf dem Bildschirm gerendert wird.
Wenn wir nun "Aus" verwenden und versuchen, sich automatisch anzumelden, um zu steuern, welcher Navigator tatsächlich rendererfähig ist, indem wir mit
einem solchen ternären Ausdruck reagieren, stellen wir sicher, dass Shop-Navigator-Bildschirme auf keinen Fall aktiviert werden können, wenn
beispielsweise "Aus" nicht wahr ist auf den Bildschirm gebracht.
Warum.
Da die Shop-Navigator-Komponente, die unsere Shop-bezogene Stammkonfiguration enthält, unsere Bildschirmkonfiguration enthält, wird diese
Komponente nur gerendert, wenn Office wahr ist.
Es gibt also keine Möglichkeit, einen Shop-bezogenen Bildschirm auf dem Bildschirm zu rendern, wenn "Aus" falsch ist.
Machen Sie diesen Vergleich wirklich mit normalen Textelementen oder normalen Feldern auf einem Bildschirm, den Sie bedingt rendern.
Wir machen hier dasselbe, aber nicht mit Feldern und Text, sondern mit unserem gesamten Navigationsstapel.
Das ist es, was wir hier tun und mit all dem, wenn wir dies speichern
und auf Android erneut ausführen, landen wir außerhalb des Bildschirms. Wenn ich dies neu lade und es neu erstellt, landen wir wieder dort.
Wenn ich jetzt versuche, mich hier einzuloggen, bekomme
ich hier tatsächlich ein Problem.
Ich erhalte eine Fehlermeldung, dass das Navigieren mit einer Nutzlast des Shops nicht gut gehandhabt wurde.
Dies ist jetzt sinnvoll, wenn Sie darüber nachdenken.
Wir haben keinen Switch Navigator mehr.
Stattdessen steuern wir nur, welchen Navigator wir unter welchen Umständen rendern möchten.
Warum bekommen wir das?
Können Sie es herausfinden und selbst reparieren?
Andernfalls machen wir es zusammen und reparieren es in der nächsten Vorlesung.