1 00:00:02,430 --> 00:00:04,130 Robimy więc duże postępy. 2 00:00:04,140 --> 00:00:08,190 Przeprowadziliśmy migrację wszystkich naszych nawigatorów lub prawie wszystkich. 3 00:00:08,190 --> 00:00:12,930 A co z przełącznikiem nawigatora pustym nawigatora TUTAJ. 4 00:00:12,930 --> 00:00:15,210 DOBRZE ZROBILIŚMY Navigator na pewno. 5 00:00:15,240 --> 00:00:21,300 Jest to Navigator stosu, który jest odpowiedzialny za wyłączanie ekranu, a my. 6 00:00:21,540 --> 00:00:23,610 A co z nawigatorem przełączników? 7 00:00:23,610 --> 00:00:26,490 Nie będziemy już musieli przełączać nawigatora. 8 00:00:26,520 --> 00:00:31,600 Nie ma pakietu przełączników slash nawigacyjnych ani nic podobnego. 9 00:00:31,800 --> 00:00:33,810 Ale wrócę do tego, kiedy będziemy tego potrzebować. 10 00:00:33,960 --> 00:00:42,960 Więc na razie stwórzmy tutaj naszego nawigatora poza nawigatorem lub nawigatora poza stosem, dzwoniąc do nawigatora. 11 00:00:42,970 --> 00:00:52,410 Dzwoniąc, utwórz nawigator stosu i wyeksportuj nasz stały rok wyłączenia nawigatora, który ponownie jest 12 00:00:52,410 --> 00:00:59,480 składnikiem reagowania, tak jak poprzednio, kiedy zwracamy nawigator stosu kropek. 13 00:00:59,550 --> 00:01:05,850 I tam mamy ekran kropki z nawigatorem biurowym, a nazwa ekranu jest wyłączona. 14 00:01:05,850 --> 00:01:12,470 Ponieważ mamy go tutaj i wykonujemy komponent, którego potrzebujemy, znajduje się poza ekranem, więc to wszystko. 15 00:01:12,490 --> 00:01:14,680 Teraz mamy tutaj opcje diabelskiego NAF. 16 00:01:14,680 --> 00:01:22,170 Tak więc opcje ekranu w nawigatorze powinny być domyślnymi opcjami drzemki i 40 opcjami specyficznymi dla ekranu. 17 00:01:22,180 --> 00:01:30,160 Spójrzmy na ekran wyłączony, a jeśli przewiniemy do dołu, mamy tutaj również kilka opcji. 18 00:01:30,190 --> 00:01:36,240 Wyeksportujmy więc tutaj nasze opcje ekranu, tak jak zrobiliśmy to wcześniej. 19 00:01:36,280 --> 00:01:42,980 Wyeksportujmy go, a następnie przejdźmy do nawigatora sklepu tutaj i na tym ekranie. 20 00:01:42,980 --> 00:01:50,960 Ustawmy opcje dwie opcje poza ekranem, które teraz musimy również dodać jako import 21 00:01:51,440 --> 00:02:01,210 na samej górze z poza ekranu, importujemy opcje ekranu jako opcje poza ekranem, więc to tyle. 22 00:02:01,220 --> 00:02:07,400 Teraz mamy też ekran startowy, ale jeśli przyjrzymy się bliżej w przeszłości, wskazaliśmy na 23 00:02:07,460 --> 00:02:13,470 to bezpośrednio z naszego przełącznika Navigator, który pozostawia nam tylko jedno pytanie. 24 00:02:13,730 --> 00:02:16,950 Co z tym nawigatorem przełączników. 25 00:02:17,300 --> 00:02:23,040 W przeszłości byłby to pierwszy ekran, który zobaczysz po załadowaniu jabłka, ponieważ jest 26 00:02:23,280 --> 00:02:26,420 to najwyższy pierwszy ekran w tej konfiguracji. 27 00:02:26,420 --> 00:02:33,590 A potem mieliśmy logikę w tym starym kontenerze nawigacyjnym, który zbudowaliśmy wcześniej, w którym sprawdziliśmy, czy 28 00:02:33,590 --> 00:02:39,800 jesteśmy uwierzytelnieni, a jeśli nie byłoby to prawdą, gdybyśmy nie zostali uwierzytelnieni, przekierowalibyśmy użytkownika 29 00:02:39,800 --> 00:02:41,420 na ten ekran. 30 00:02:41,420 --> 00:02:44,470 Kiedy dotrzemy do ekranu sklepu. 31 00:02:44,480 --> 00:02:46,880 Cóż, spójrzmy na ekran startowy. 32 00:02:47,060 --> 00:02:54,350 Widzimy, że próbowaliśmy się uwierzytelnić, i tutaj w końcu przejdziemy do ekranu sklepów po automatycznym 33 00:02:54,350 --> 00:02:55,900 zalogowaniu się. 34 00:02:55,910 --> 00:02:58,410 To była logika, którą tam napisaliśmy. 35 00:02:58,430 --> 00:03:03,400 To wciąż trochę logiki, która ma sens. 36 00:03:03,450 --> 00:03:11,100 Musimy w końcu dostosować go do nowego pakietu nawigacyjnego. Widzimy tutaj, że na początku 37 00:03:11,100 --> 00:03:19,390 ekranu próbujemy zablokować użytkownika i jeśli nie możemy znaleźć danych użytkownika przechowywanych na urządzeniu, idziemy do 38 00:03:19,420 --> 00:03:20,830 strony off. 39 00:03:20,830 --> 00:03:26,260 Jeśli okaże się, że dane dotyczące tokena wygasły lub nie, przechodzimy do strony wyłączonej. 40 00:03:26,260 --> 00:03:34,750 Jeśli jednak wszystko się powiedzie i mamy prawidłowy token, to zamiast tego przejdziemy na stronę 41 00:03:35,110 --> 00:03:41,110 sklepu i wysyłamy akcję, w której uwierzytelniamy użytkownika, który zmienia 42 00:03:41,110 --> 00:03:49,750 stan, i nasz sklep redux, który początkowo ustawia tokeny w tym sklepie. teraz możemy tego użyć. 43 00:03:49,760 --> 00:03:58,250 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 44 00:03:58,340 --> 00:03:59,430 robię tutaj. 45 00:03:59,480 --> 00:04:03,920 Zamiast tego pozbywamy się wszystkich tych działań nawigacyjnych. 46 00:04:04,460 --> 00:04:06,890 Co się stanie, jeśli tu wrócimy. 47 00:04:06,890 --> 00:04:11,840 Cóż, jeśli tu wrócimy, wówczas wykonanie dysfunkcji zatrzyma Indianę. 48 00:04:11,840 --> 00:04:12,730 Zatrzymuje się. 49 00:04:12,830 --> 00:04:17,270 I zdecydowanie nie robimy, to zdecydowanie nie wysyłamy akcji. 50 00:04:17,270 --> 00:04:20,240 Więc zdecydowanie nie ustawiamy tokena na nic. 51 00:04:20,240 --> 00:04:22,270 To wciąż nie. 52 00:04:22,640 --> 00:04:27,800 Dzieje się tak zawsze, chyba że dojdziemy do końca, w takim przypadku mamy token. 53 00:04:27,890 --> 00:04:30,810 Wysłaliśmy nas, a token nie jest pusty. 54 00:04:30,830 --> 00:04:32,750 Często są w naszym sklepie. 55 00:04:32,840 --> 00:04:38,770 Tak więc ten token, którym zarządzamy z redux, jest już teraz lub zawiera wartość. 56 00:04:38,840 --> 00:04:41,990 Teraz chcę trochę dostosować sklep redux. 57 00:04:42,140 --> 00:04:48,500 Część wyłączona, a wy wszyscy dla użytkownika, a ja dodam nowy kawałek danych do 58 00:04:48,530 --> 00:04:54,070 tego stanu i to znaczy, że wszyscy próbowali zalogować się do klucza. 59 00:04:54,090 --> 00:04:58,300 Możesz nazwać go tak, jak chcesz, a na początku ustawię go na false. 60 00:04:58,300 --> 00:05:02,290 Chcę zapisać, czy próbowaliśmy się zalogować, czy nie. 61 00:05:02,290 --> 00:05:04,150 Teraz, jeśli uwierzytelnimy się. 62 00:05:04,150 --> 00:05:11,850 Więc jeśli wyślemy akcję z tym identyfikatorem, ustawię, czy spróbuję automatycznie zalogować się na true. 63 00:05:11,890 --> 00:05:19,240 Dodam też nową akcję tutaj w wyłączonych akcjach i do tego 64 00:05:19,240 --> 00:05:31,820 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 65 00:05:31,910 --> 00:05:38,070 kreatora akcji set spróbował L, który nie przyjmuje argumentów. 66 00:05:38,070 --> 00:05:44,040 I tam, gdzie nie zwróciłem mojego obiektu akcji, gdzie wpisanie jest właśnie ustawione. 67 00:05:44,060 --> 00:05:45,200 Próbowałem… 68 00:05:45,230 --> 00:05:49,020 Możesz także umieścić go na dole pliku, nie ma to znaczenia. 69 00:05:49,020 --> 00:05:50,330 Dlaczego to robię? 70 00:05:50,390 --> 00:05:51,460 Zobaczysz to w drugim. 71 00:05:51,530 --> 00:05:55,820 Wróćmy do reduktora, zdejmij reduktor i zajmij się tym nowym przypadkiem. 72 00:05:55,820 --> 00:05:58,960 Zestaw przypadków spróbował l. 73 00:05:59,000 --> 00:06:06,620 Upewnij się, że importujesz również z akcji z każdego roku, gdy zwracamy nowy stan, w którym kopiuję stary stan i 74 00:06:06,620 --> 00:06:13,250 gdzie powiedziałem, że próbowałem automatycznego logowania na true, aby token mógł nadal być wiedzą, po prostu ustaw 75 00:06:13,250 --> 00:06:14,750 to na true. 76 00:06:14,750 --> 00:06:19,490 Teraz mój pomysł jest taki, że wysyłam tę akcję tutaj na ekranie startowym. 77 00:06:19,610 --> 00:06:25,790 We wszystkich scenariuszach, w których wcześniej przechodziliśmy do ekranu poza ekranem, więc próbowaliśmy się zalogować, ale nie 78 00:06:25,790 --> 00:06:27,280 udało nam się. 79 00:06:27,380 --> 00:06:38,650 Więc tak, wysyłam zestaw próbowałem A. L. więc upewnij się, że masz do tego dostęp przy takich 80 00:06:39,040 --> 00:06:44,270 wyłączonych czynnościach i zrób to w tych dwóch przypadkach, w których wcześniej nawigowaliśmy do ekranu wyłączonego. 81 00:06:44,320 --> 00:06:48,160 Więc teraz mamy nowe pole i redux i dlaczego to robię. 82 00:06:48,160 --> 00:06:49,840 Dlaczego to jest pomocne. 83 00:06:49,840 --> 00:06:55,480 No cóż, ponieważ z reagującą nawigacją 5 nie ma już przełącznika nawigacyjnego, ponieważ nie jest nam 84 00:06:55,810 --> 00:06:58,900 już potrzebny, ponieważ teraz zarządzamy całą konfiguracją trasy. 85 00:06:59,010 --> 00:07:06,920 Dlaczego komponenty możemy po prostu dynamicznie renderować komponenty, aby miały wpływ lub 86 00:07:06,920 --> 00:07:14,240 nie renderować ich w nawigatorze aplikacji, w którym renderuję nawigator produktów. 87 00:07:14,260 --> 00:07:20,820 Nadszedł czas, aby dodać wszystkie te nawigatory, które mają być skonfigurowane, a następnie zdecydować, który nawigator powinien 88 00:07:20,830 --> 00:07:24,230 być renderowany, gdy tak jest z nawigatora sklepu. 89 00:07:24,330 --> 00:07:27,300 Chcę teraz zaimportować ten nawigator 90 00:07:31,660 --> 00:07:40,180 sklepu, który wyeksportuję ponownie jako stały, a następnie tutaj nawigator aplikacji importuję nawigator 91 00:07:40,270 --> 00:07:41,320 sklepu. 92 00:07:41,320 --> 00:07:42,850 To jest nasz rysunek nawigatora. 93 00:07:42,850 --> 00:07:45,990 Miej to na uwadze i właśnie to chcę tutaj renderować. 94 00:07:46,090 --> 00:07:48,090 Shop Navigator. 95 00:07:48,240 --> 00:07:55,020 Więc to w zasadzie to, co chcę renderować, jeśli jesteśmy zamknięci, to nasz sklep właśnie wcześniej, to 96 00:07:55,020 --> 00:07:59,070 właśnie odwzorowaliśmy na ten klucz sklepu w nawigatorze przełączników. 97 00:07:59,070 --> 00:08:02,350 Teraz wszyscy potrzebujemy wyłączonego nawigatora na ekranie startowym. 98 00:08:02,400 --> 00:08:04,190 Oto nawigator aplikacji. 99 00:08:04,290 --> 00:08:09,290 Zaimportuję wyłączonego nawigatora i to jedyne dwa nawigatory, które muszę zaimportować tutaj. 100 00:08:09,330 --> 00:08:15,060 W związku z tym możesz usunąć instrukcję eksportu na wszystkich innych nawigatorach znajdujących się w naszym pliku 101 00:08:16,080 --> 00:08:20,300 nawigatora sklepu, ale zaimportowanie do nawigatora aplikacji będzie wymagało teraz ekranu startowego. 102 00:08:20,520 --> 00:08:30,520 Zaimportujmy więc ekran startowy z ekranów ekranu startowego, a teraz mamy nawigator sklepu. 103 00:08:30,520 --> 00:08:40,010 Mamy wyłączoną nawigację jako alternatywę, a także mamy głęboki ekran startowy, teraz będzie to tylko jeden 104 00:08:40,010 --> 00:08:42,430 z bezpłatnych i. 105 00:08:42,540 --> 00:08:45,410 I tutaj możemy teraz ponownie wykorzystać redux. 106 00:08:45,480 --> 00:08:51,000 Skopiuję użycie selektora, ponieważ informacje o witrynie dotyczące tokena jestem również zainteresowany, 107 00:08:51,000 --> 00:08:57,770 aby dowiedzieć się o polu wypróbowałem wszystkie pola logowania, które dodałem tutaj do stanu wyłączenia. 108 00:08:57,780 --> 00:09:05,770 Dodałem to nowe pole. Mam teraz dostęp do tego tutaj w pliku nawigatora aplikacji i zapisałem je, a ja 109 00:09:05,810 --> 00:09:08,280 próbowałem zalogować się na stałe. 110 00:09:08,280 --> 00:09:15,710 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. 111 00:09:15,720 --> 00:09:20,000 Zawsze robię zakupy, nie dbam o nic innego. 112 00:09:20,160 --> 00:09:28,290 Teraz chcę wyrenderować wyłączonego nawigatora, jeśli jest z jego błędów, i próbowaliśmy się jeszcze zalogować, 113 00:09:28,290 --> 00:09:36,540 ponieważ jeśli nie próbowaliśmy zalogować się automatycznie, naprawdę chcę wyrenderować ekran startowy, więc jeśli nie jesteśmy 114 00:09:36,540 --> 00:09:42,700 uwierzytelnieni, a zrobiliśmy to nie wypróbuj jeszcze naszego automatycznego logowania. 115 00:09:43,100 --> 00:09:47,180 Więc nie wiemy, czy użytkownik może być wystawcą uwierzytelnienia, czy nie. 116 00:09:47,180 --> 00:09:54,580 Więc w takim przypadku chcę teraz wyświetlić ekran startowy. Chcę szybko znaleźć tam POS i upewnić się, że wszyscy 117 00:09:54,700 --> 00:10:00,820 jesteśmy na tej samej stronie i wszyscy rozumiemy, dlaczego teraz używamy tego zamiast nawigatora przełączników. 118 00:10:00,830 --> 00:10:05,550 Teraz przede wszystkim nie ma już przełącznika nawigatora w reagującej nawigacji 5. 119 00:10:05,710 --> 00:10:07,720 Ale dlaczego został usunięty. 120 00:10:07,720 --> 00:10:15,010 Cóż, ponieważ teraz konfigurujemy wszystko za pomocą komponentów, możemy używać regularnych narzędzi do reagowania, aby renderować 121 00:10:15,010 --> 00:10:16,540 komponent lub nie. 122 00:10:16,540 --> 00:10:21,850 Jeśli nie myślisz o nawigacji, ale o normalnym ekranie, na którym może być 123 00:10:21,850 --> 00:10:28,420 tekst, który chcesz wyświetlać tylko warunkowo, użyłbyś jakiegoś stanu, a następnie w J to X tylko czasami 124 00:10:28,600 --> 00:10:31,990 renderowałbyś tekst z wyrażeniem potrójnym, na przykład . 125 00:10:32,110 --> 00:10:37,660 I my robimy to samo z naszą konfiguracją trasy z naszymi konfiguracjami 126 00:10:37,660 --> 00:10:43,700 ekranu tutaj konfiguracja ekranu, którą mamy tutaj, to różni nawigatorzy i na ekranie startowym 127 00:10:43,750 --> 00:10:50,770 są to w końcu wszystkie rzeczy, które powinny zareagować, aby coś przynieść na ekran i reaguj 128 00:10:50,800 --> 00:10:56,830 nawigacja za kulisami zakurzone ciężkie podnoszenie interpretując naszą konfigurację i upewniając się, że poprawny 129 00:10:56,830 --> 00:10:59,440 komponent zostanie renderowany na ekranie. 130 00:10:59,440 --> 00:11:09,210 Teraz, jeśli korzystamy z opcji jest wyłączone i próbujemy zalogować się automatycznie, aby kontrolować, który nawigator jest w stanie renderować, 131 00:11:09,220 --> 00:11:17,230 reagując na takie wyrażenie trójskładnikowe, wówczas zapewniamy, że jeśli na przykład wyłączona jest nieprawda, nie ma 132 00:11:17,230 --> 00:11:21,610 możliwości, aby ekrany nawigatora sklepu przeniesiony na ekran. 133 00:11:21,610 --> 00:11:22,230 Dlaczego. 134 00:11:22,270 --> 00:11:28,840 Ponieważ komponent nawigatora sklepu, który przechowuje konfigurację katalogu głównego związaną ze sklepem, nasza konfiguracja ekranu 135 00:11:29,260 --> 00:11:33,400 jest renderowana tylko wtedy, gdy jest prawdą biurową. 136 00:11:33,400 --> 00:11:39,840 Nie ma więc możliwości renderowania ekranu związanego ze sklepem, jeśli wyłączone jest fałszywe. 137 00:11:40,090 --> 00:11:47,560 Naprawdę porównaj to z normalnymi elementami tekstowymi lub normalnymi polami na ekranie, który renderujesz warunkowo. 138 00:11:47,560 --> 00:11:54,000 Robimy to samo tutaj, ale nie z polami i tekstem, ale zamiast tego z całym naszym stosem nawigacji. 139 00:11:54,040 --> 00:12:00,170 To właśnie robimy tutaj, a wszystko to, jeśli uratujemy to i uruchomimy 140 00:12:04,210 --> 00:12:12,860 ponownie na Androidzie, znajdziemy się na ekranie wyłączonym, a jeśli przeładuję to i przebuduje, to znowu tam będziemy. 141 00:12:13,630 --> 00:12:16,450 Teraz, gdy spróbuję się zalogować tutaj, 142 00:12:21,790 --> 00:12:23,930 teraz mam problem. 143 00:12:24,100 --> 00:12:30,530 Pojawia się błąd, że nawigacja z ładunkiem sklepu nie została dobrze obsłużona. 144 00:12:30,540 --> 00:12:32,960 Ma to teraz sens, jeśli się nad tym zastanowić. 145 00:12:32,970 --> 00:12:35,440 Nie mamy już przełącznika nawigacyjnego. 146 00:12:35,490 --> 00:12:40,170 Zamiast tego kontrolujemy tylko, który nawigator chcemy wyrenderować w jakich okolicznościach. 147 00:12:40,350 --> 00:12:42,410 Więc dlaczego to otrzymujemy. 148 00:12:42,420 --> 00:12:44,490 Czy potrafisz to rozwiązać i naprawić samodzielnie? 149 00:12:44,580 --> 00:12:48,330 W przeciwnym razie zrobimy to razem, naprawimy to razem w następnym wykładzie.