Robimy więc duże postępy.
Przeprowadziliśmy migrację wszystkich naszych nawigatorów lub prawie wszystkich.
A co z przełącznikiem nawigatora pustym nawigatora TUTAJ.
DOBRZE ZROBILIŚMY Navigator na pewno.
Jest to Navigator stosu, który jest odpowiedzialny za wyłączanie ekranu, a my.
A co z nawigatorem przełączników?
Nie będziemy już musieli przełączać nawigatora.
Nie ma pakietu przełączników slash nawigacyjnych ani nic podobnego.
Ale wrócę do tego, kiedy będziemy tego potrzebować.
Więc na razie stwórzmy tutaj naszego nawigatora poza nawigatorem lub nawigatora poza stosem, dzwoniąc do nawigatora.
Dzwoniąc, utwórz nawigator stosu i wyeksportuj nasz stały rok wyłączenia nawigatora, który ponownie jest
składnikiem reagowania, tak jak poprzednio, kiedy zwracamy nawigator stosu kropek.
I tam mamy ekran kropki z nawigatorem biurowym, a nazwa ekranu jest wyłączona.
Ponieważ mamy go tutaj i wykonujemy komponent, którego potrzebujemy, znajduje się poza ekranem, więc to wszystko.
Teraz mamy tutaj opcje diabelskiego NAF.
Tak więc opcje ekranu w nawigatorze powinny być domyślnymi opcjami drzemki i 40 opcjami specyficznymi dla ekranu.
Spójrzmy na ekran wyłączony, a jeśli przewiniemy do dołu, mamy tutaj również kilka opcji.
Wyeksportujmy więc tutaj nasze opcje ekranu, tak jak zrobiliśmy to wcześniej.
Wyeksportujmy go, a następnie przejdźmy do nawigatora sklepu tutaj i na tym ekranie.
Ustawmy opcje dwie opcje poza ekranem, które teraz musimy również dodać jako import
na samej górze z poza ekranu, importujemy opcje ekranu jako opcje poza ekranem, więc to tyle.
Teraz mamy też ekran startowy, ale jeśli przyjrzymy się bliżej w przeszłości, wskazaliśmy na
to bezpośrednio z naszego przełącznika Navigator, który pozostawia nam tylko jedno pytanie.
Co z tym nawigatorem przełączników.
W przeszłości byłby to pierwszy ekran, który zobaczysz po załadowaniu jabłka, ponieważ jest
to najwyższy pierwszy ekran w tej konfiguracji.
A potem mieliśmy logikę w tym starym kontenerze nawigacyjnym, który zbudowaliśmy wcześniej, w którym sprawdziliśmy, czy
jesteśmy uwierzytelnieni, a jeśli nie byłoby to prawdą, gdybyśmy nie zostali uwierzytelnieni, przekierowalibyśmy użytkownika
na ten ekran.
Kiedy dotrzemy do ekranu sklepu.
Cóż, spójrzmy na ekran startowy.
Widzimy, że próbowaliśmy się uwierzytelnić, i tutaj w końcu przejdziemy do ekranu sklepów po automatycznym
zalogowaniu się.
To była logika, którą tam napisaliśmy.
To wciąż trochę logiki, która ma sens.
Musimy w końcu dostosować go do nowego pakietu nawigacyjnego. Widzimy tutaj, że na początku
ekranu próbujemy zablokować użytkownika i jeśli nie możemy znaleźć danych użytkownika przechowywanych na urządzeniu, idziemy do
strony off.
Jeśli okaże się, że dane dotyczące tokena wygasły lub nie, przechodzimy do strony wyłączonej.
Jeśli jednak wszystko się powiedzie i mamy prawidłowy token, to zamiast tego przejdziemy na stronę
sklepu i wysyłamy akcję, w której uwierzytelniamy użytkownika, który zmienia
stan, i nasz sklep redux, który początkowo ustawia tokeny w tym sklepie. teraz możemy tego użyć.
Co się stanie, jeśli pozbędziemy się wszystkich tych połączeń nawigacyjnych tutaj, abyśmy mogli je usunąć lub po prostu skomentować, gdy to
robię tutaj.
Zamiast tego pozbywamy się wszystkich tych działań nawigacyjnych.
Co się stanie, jeśli tu wrócimy.
Cóż, jeśli tu wrócimy, wówczas wykonanie dysfunkcji zatrzyma Indianę.
Zatrzymuje się.
I zdecydowanie nie robimy, to zdecydowanie nie wysyłamy akcji.
Więc zdecydowanie nie ustawiamy tokena na nic.
To wciąż nie.
Dzieje się tak zawsze, chyba że dojdziemy do końca, w takim przypadku mamy token.
Wysłaliśmy nas, a token nie jest pusty.
Często są w naszym sklepie.
Tak więc ten token, którym zarządzamy z redux, jest już teraz lub zawiera wartość.
Teraz chcę trochę dostosować sklep redux.
Część wyłączona, a wy wszyscy dla użytkownika, a ja dodam nowy kawałek danych do
tego stanu i to znaczy, że wszyscy próbowali zalogować się do klucza.
Możesz nazwać go tak, jak chcesz, a na początku ustawię go na false.
Chcę zapisać, czy próbowaliśmy się zalogować, czy nie.
Teraz, jeśli uwierzytelnimy się.
Więc jeśli wyślemy akcję z tym identyfikatorem, ustawię, czy spróbuję automatycznie zalogować się na true.
Dodam też nową akcję tutaj w wyłączonych akcjach i do tego
dodam tutaj nowy identyfikator, który nazwałbym zestawem próbowałem lub L dla zestawu automatycznego logowania spróbowałem L i stworzyłem dla niego
kreatora akcji set spróbował L, który nie przyjmuje argumentów.
I tam, gdzie nie zwróciłem mojego obiektu akcji, gdzie wpisanie jest właśnie ustawione.
Próbowałem…
Możesz także umieścić go na dole pliku, nie ma to znaczenia.
Dlaczego to robię?
Zobaczysz to w drugim.
Wróćmy do reduktora, zdejmij reduktor i zajmij się tym nowym przypadkiem.
Zestaw przypadków spróbował l.
Upewnij się, że importujesz również z akcji z każdego roku, gdy zwracamy nowy stan, w którym kopiuję stary stan i
gdzie powiedziałem, że próbowałem automatycznego logowania na true, aby token mógł nadal być wiedzą, po prostu ustaw
to na true.
Teraz mój pomysł jest taki, że wysyłam tę akcję tutaj na ekranie startowym.
We wszystkich scenariuszach, w których wcześniej przechodziliśmy do ekranu poza ekranem, więc próbowaliśmy się zalogować, ale nie
udało nam się.
Więc tak, wysyłam zestaw próbowałem A. L. więc upewnij się, że masz do tego dostęp przy takich
wyłączonych czynnościach i zrób to w tych dwóch przypadkach, w których wcześniej nawigowaliśmy do ekranu wyłączonego.
Więc teraz mamy nowe pole i redux i dlaczego to robię.
Dlaczego to jest pomocne.
No cóż, ponieważ z reagującą nawigacją 5 nie ma już przełącznika nawigacyjnego, ponieważ nie jest nam
już potrzebny, ponieważ teraz zarządzamy całą konfiguracją trasy.
Dlaczego komponenty możemy po prostu dynamicznie renderować komponenty, aby miały wpływ lub
nie renderować ich w nawigatorze aplikacji, w którym renderuję nawigator produktów.
Nadszedł czas, aby dodać wszystkie te nawigatory, które mają być skonfigurowane, a następnie zdecydować, który nawigator powinien
być renderowany, gdy tak jest z nawigatora sklepu.
Chcę teraz zaimportować ten nawigator
sklepu, który wyeksportuję ponownie jako stały, a następnie tutaj nawigator aplikacji importuję nawigator
sklepu.
To jest nasz rysunek nawigatora.
Miej to na uwadze i właśnie to chcę tutaj renderować.
Shop Navigator.
Więc to w zasadzie to, co chcę renderować, jeśli jesteśmy zamknięci, to nasz sklep właśnie wcześniej, to
właśnie odwzorowaliśmy na ten klucz sklepu w nawigatorze przełączników.
Teraz wszyscy potrzebujemy wyłączonego nawigatora na ekranie startowym.
Oto nawigator aplikacji.
Zaimportuję wyłączonego nawigatora i to jedyne dwa nawigatory, które muszę zaimportować tutaj.
W związku z tym możesz usunąć instrukcję eksportu na wszystkich innych nawigatorach znajdujących się w naszym pliku
nawigatora sklepu, ale zaimportowanie do nawigatora aplikacji będzie wymagało teraz ekranu startowego.
Zaimportujmy więc ekran startowy z ekranów ekranu startowego, a teraz mamy nawigator sklepu.
Mamy wyłączoną nawigację jako alternatywę, a także mamy głęboki ekran startowy, teraz będzie to tylko jeden
z bezpłatnych i.
I tutaj możemy teraz ponownie wykorzystać redux.
Skopiuję użycie selektora, ponieważ informacje o witrynie dotyczące tokena jestem również zainteresowany,
aby dowiedzieć się o polu wypróbowałem wszystkie pola logowania, które dodałem tutaj do stanu wyłączenia.
Dodałem to nowe pole. Mam teraz dostęp do tego tutaj w pliku nawigatora aplikacji i zapisałem je, a ja
próbowałem zalogować się na stałe.
Teraz wiem, że chcę renderować w sklepie, czy to wszystko jest prawdą. W jaki sposób możemy to zrobić, jeśli jesteśmy uwierzytelnieni.
Zawsze robię zakupy, nie dbam o nic innego.
Teraz chcę wyrenderować wyłączonego nawigatora, jeśli jest z jego błędów, i próbowaliśmy się jeszcze zalogować,
ponieważ jeśli nie próbowaliśmy zalogować się automatycznie, naprawdę chcę wyrenderować ekran startowy, więc jeśli nie jesteśmy
uwierzytelnieni, a zrobiliśmy to nie wypróbuj jeszcze naszego automatycznego logowania.
Więc nie wiemy, czy użytkownik może być wystawcą uwierzytelnienia, czy nie.
Więc w takim przypadku chcę teraz wyświetlić ekran startowy. Chcę szybko znaleźć tam POS i upewnić się, że wszyscy
jesteśmy na tej samej stronie i wszyscy rozumiemy, dlaczego teraz używamy tego zamiast nawigatora przełączników.
Teraz przede wszystkim nie ma już przełącznika nawigatora w reagującej nawigacji 5.
Ale dlaczego został usunięty.
Cóż, ponieważ teraz konfigurujemy wszystko za pomocą komponentów, możemy używać regularnych narzędzi do reagowania, aby renderować
komponent lub nie.
Jeśli nie myślisz o nawigacji, ale o normalnym ekranie, na którym może być
tekst, który chcesz wyświetlać tylko warunkowo, użyłbyś jakiegoś stanu, a następnie w J to X tylko czasami
renderowałbyś tekst z wyrażeniem potrójnym, na przykład .
I my robimy to samo z naszą konfiguracją trasy z naszymi konfiguracjami
ekranu tutaj konfiguracja ekranu, którą mamy tutaj, to różni nawigatorzy i na ekranie startowym
są to w końcu wszystkie rzeczy, które powinny zareagować, aby coś przynieść na ekran i reaguj
nawigacja za kulisami zakurzone ciężkie podnoszenie interpretując naszą konfigurację i upewniając się, że poprawny
komponent zostanie renderowany na ekranie.
Teraz, jeśli korzystamy z opcji jest wyłączone i próbujemy zalogować się automatycznie, aby kontrolować, który nawigator jest w stanie renderować,
reagując na takie wyrażenie trójskładnikowe, wówczas zapewniamy, że jeśli na przykład wyłączona jest nieprawda, nie ma
możliwości, aby ekrany nawigatora sklepu przeniesiony na ekran.
Dlaczego.
Ponieważ komponent nawigatora sklepu, który przechowuje konfigurację katalogu głównego związaną ze sklepem, nasza konfiguracja ekranu
jest renderowana tylko wtedy, gdy jest prawdą biurową.
Nie ma więc możliwości renderowania ekranu związanego ze sklepem, jeśli wyłączone jest fałszywe.
Naprawdę porównaj to z normalnymi elementami tekstowymi lub normalnymi polami na ekranie, który renderujesz warunkowo.
Robimy to samo tutaj, ale nie z polami i tekstem, ale zamiast tego z całym naszym stosem nawigacji.
To właśnie robimy tutaj, a wszystko to, jeśli uratujemy to i uruchomimy
ponownie na Androidzie, znajdziemy się na ekranie wyłączonym, a jeśli przeładuję to i przebuduje, to znowu tam będziemy.
Teraz, gdy spróbuję się zalogować tutaj,
teraz mam problem.
Pojawia się błąd, że nawigacja z ładunkiem sklepu nie została dobrze obsłużona.
Ma to teraz sens, jeśli się nad tym zastanowić.
Nie mamy już przełącznika nawigacyjnego.
Zamiast tego kontrolujemy tylko, który nawigator chcemy wyrenderować w jakich okolicznościach.
Więc dlaczego to otrzymujemy.
Czy potrafisz to rozwiązać i naprawić samodzielnie?
W przeciwnym razie zrobimy to razem, naprawimy to razem w następnym wykładzie.