1 00:00:02,230 --> 00:00:12,550 Chcę więc mieć przycisk zapisu w nagłówku i oczywiście musimy dodać opcje nawigacji na ekranie mapy i użyć 2 00:00:12,550 --> 00:00:19,620 formularza funkcji, abyśmy mieli dostęp do tej nawigacji, tego obiektu z obiektem 3 00:00:20,070 --> 00:00:25,500 nawigacyjnym i tam , Chcę zwrócić mój obiekt konfiguracji. 4 00:00:25,500 --> 00:00:28,070 Możesz dodać tytuł nagłówka, ale tak naprawdę jestem 5 00:00:28,200 --> 00:00:32,040 szczęśliwy bez niego, ale chcę ustawić nagłówek tutaj i teraz ważne, tutaj możesz 6 00:00:32,190 --> 00:00:39,960 oczywiście użyć przycisków nagłówka i renderować ładną ikonę, ale w rzeczywistości wyrenderuję tutaj tekst. Więc zaimportuję komponent tekstowy lub upewnię 7 00:00:40,350 --> 00:00:46,080 się, że go importujesz. Wyrenderuję tutaj tekst, w którym 8 00:00:46,330 --> 00:00:51,720 powiem tylko zapisz, a możesz oczywiście dodać zaznaczenie platformy, aby zrobić 9 00:00:51,720 --> 00:00:53,050 wielkie litery 10 00:00:53,130 --> 00:01:02,510 na Androidzie, jeśli chcesz, po prostu powiedz tak, a następnie dodaj styl tutaj, w którym Dodaję styl tekstu przycisku 11 00:01:02,510 --> 00:01:09,050 nagłówka i wokół niego chcę mieć dotykalny widok, więc użyję dotykowego krycia, które 12 00:01:09,050 --> 00:01:15,770 również musisz importować, nie stamtąd, ale faktycznie z React Native, więc dotykowe krycie 13 00:01:15,770 --> 00:01:24,050 powinno zostać zaimportowane z React Native, a po zaimportowaniu możemy owinąć ten tekst wokół tego tekstu, 14 00:01:24,050 --> 00:01:31,770 aby utworzyć własne przyciski, że tak powiem, i tam też chcę dodać styl, a ten 15 00:01:31,770 --> 00:01:40,270 styl będzie miał na przykład identyfikator przycisku nagłówka. Teraz, po naciśnięciu tego, chcę zapisać to, co dodaliśmy lub zapisać naszą lokalizację, którą 16 00:01:40,270 --> 00:01:46,780 wybraliśmy, ale to zrobię za sekundę, na razie stylizujmy to. Tak więc na dole w arkuszu stylów, dla przycisku 17 00:01:46,780 --> 00:01:53,440 nagłówka, którym jest ta przezroczysta krycie, dodam margines poziomy 20, aby mieć pewne odstępy wokół przycisku po lewej i prawej 18 00:01:53,440 --> 00:01:58,060 stronie, a na tekście przycisku nagłówka tutaj, oczywiście w górę do ciebie, co chcesz 19 00:01:58,060 --> 00:02:05,920 tam dodać, ale dodam rozmiar czcionki 16, powiedzmy i ważny, kolor. W tym celu potrzebuję interfejsu API platformy, ponieważ kolor musi 20 00:02:05,920 --> 00:02:11,440 się różnić, ponieważ znajduje się on w nagłówku, który ma solidne tło na Androidzie, ale 21 00:02:11,500 --> 00:02:19,960 nie na iOS, mogę tu ustawić kolor, a kolor tekstu na Platforma. OS równa się Androidowi, więc aby to sprawdzić, a na Androidzie ustawię go 22 00:02:19,960 --> 00:02:26,550 na biały, a w przeciwnym razie ustawię go na Kolory. podstawowe i do tego, jak 23 00:02:26,620 --> 00:02:32,610 zawsze, upewnij się, że importujesz swoje stałe kolory z tego miejsca. 24 00:02:32,690 --> 00:02:38,180 Więc teraz mamy przycisk Zapisz, kiedy naciskamy przycisk Zapisz, chcę uruchomić funkcję, która powinna zostać zdefiniowana 25 00:02:38,180 --> 00:02:43,370 w komponencie, i to również zrobiliśmy wiele razy w trakcie, pokazałem ci, jak możesz komunikować 26 00:02:43,370 --> 00:02:50,360 się między swoim komponentem a także opcje nawigacji tutaj. Możemy więc zasadniczo dodać tutaj nową 27 00:02:50,390 --> 00:03:00,090 funkcję, zapisać wybrany moduł lokalizacji, cokolwiek chcesz nazwać, a ta funkcja lub odwołanie do tej funkcji powinny zostać przekazane do opcji 28 00:03:00,110 --> 00:03:05,100 nawigacji i do tego możemy użyć starego dobrego haka efektu 29 00:03:05,100 --> 00:03:12,150 użycia i użyj funkcji oddzwaniania, aby uniknąć tej nieskończonej pętli, jeśli pamiętasz, a zatem możemy 30 00:03:12,150 --> 00:03:21,520 ją następnie owinąć za pomocą funkcji oddzwaniania, a następnie użyć efektu tutaj, aby poinformować o tym nasze opcje nawigacji za 31 00:03:21,520 --> 00:03:32,600 pomocą parametrów zestawu rekwizytów nawigacji, a następnie chcę ustawić tutaj parametr zapisu lokalizacji do procedury obsługi lokalizacji wyboru zapisu, więc przekaż odwołanie do tej 32 00:03:32,610 --> 00:03:39,390 funkcji, do tego parametru lub do tego parametru do moich nagłówków, a użycie efektu 33 00:03:39,390 --> 00:03:46,590 oczywiście zależy od funkcji procedury lokalizacji lokalizacji zapisu, więc dodam ją tutaj jako zależność i 34 00:03:46,590 --> 00:03:55,040 ważne teraz, użyj wywołania zwrotnego tutaj również ma szereg zależności, ponieważ tutaj w zasadzie chcę opuścić tę stronę 35 00:03:55,160 --> 00:04:00,130 i wrócić, więc tutaj mogę użyć nawigacji rekwizytów, wróć 36 00:04:00,230 --> 00:04:05,630 i poprawimy to za sekundę, ale na razie mogę to zrobić. 37 00:04:06,940 --> 00:04:13,420 Dlatego normalnie oczywiście ta funkcja powrotu byłaby moją zależnością, ale aby uniknąć nieskończonej pętli, przy 38 00:04:13,450 --> 00:04:18,180 takim podejściu musimy użyć parametrów do zaktualizowania komponentu, na którym już 39 00:04:18,370 --> 00:04:24,280 jesteśmy, dodam tutaj pustą tablicę jako zależność, aby ta funkcja nie została w tej 40 00:04:24,310 --> 00:04:25,420 chwili odbudowana. 41 00:04:25,480 --> 00:04:30,790 Dzięki temu możemy wyodrębnić ten parametr zapisu lokalizacji w naszym nagłówku. 42 00:04:30,790 --> 00:04:41,190 Więc tutaj chcę wskazać moją funkcję zapisu, którą otrzymuję z navData. nawigacja. getParam wskazuje na identyfikator lokalizacji zapisu, 43 00:04:41,190 --> 00:04:48,480 a następnie funkcja zapisu jest funkcją, którą podłączam do obsługi onPress na 44 00:04:48,480 --> 00:04:50,050 dotykowym kryciu. 45 00:04:50,070 --> 00:04:59,030 Powinno to uruchomić tę funkcję zapisu, tutaj funkcję obsługi wybranej lokalizacji zapisu. Mając to zapisane, jeśli wrócimy, spróbujmy, przejdźmy do 46 00:04:59,060 --> 00:05:00,710 wyboru na 47 00:05:00,740 --> 00:05:08,210 mapie, a jeśli teraz kliknę zapisz, powinien po prostu wrócić i to zrobi. 48 00:05:08,240 --> 00:05:13,280 Więc to działa, ale oczywiście teraz, nie zapisuję żadnej lokalizacji, nie używam żadnej lokalizacji, to kolejny 49 00:05:13,280 --> 00:05:15,080 krok i do tego musimy 50 00:05:15,080 --> 00:05:21,110 przekazać lokalizację wybraną przez użytkownika z powrotem do poprzedniego ekranu. Wracając, jest to stosunkowo trudne, ale 51 00:05:21,110 --> 00:05:25,970 zamiast tego możemy użyć wzoru, którego tak naprawdę wcześniej nie użyłem w 52 00:05:26,540 --> 00:05:34,010 tym kursie, mogę również użyć nawigacji tutaj, aby wrócić. Mogę nawigować do mojego nowego ekranu miejsca z nowym identyfikatorem 53 00:05:34,070 --> 00:05:41,810 miejsca, który został ustawiony tutaj w nawigatorze miejsc, a ponieważ już jestem na ekranie przed tym nowym ekranem miejsca, nie zapominaj, 54 00:05:41,810 --> 00:05:42,990 że jest to 55 00:05:43,070 --> 00:05:48,260 stos ekranów, a ja Jestem na ekranie nad nowym ekranem miejsca, tak naprawdę to 56 00:05:48,290 --> 00:05:53,040 nie przesunie tego nowego ekranu miejsca na istniejący ekran, moglibyśmy wymusić to za 57 00:05:53,270 --> 00:05:56,020 pomocą push, ale nie chcę, zamiast tego 58 00:05:56,030 --> 00:06:03,890 wróci, ale teraz za pomocą nawigacji mogę dodać tutaj kilka parametrów. Mogę dodać wybraną lokalizację i wskazać tam 59 00:06:04,040 --> 00:06:12,980 wybrany rekwizyt lokalizacji, który, mam nadzieję, zawiera wybraną lokalizację. Teraz, kiedy używam tutaj wybranej lokalizacji i od czasu tych 60 00:06:12,980 --> 00:06:18,320 zmian, dodam to jako zależność do korzystania z oddzwaniania, aby ta funkcja została 61 00:06:18,650 --> 00:06:23,900 odtworzona, gdy wybraliśmy nową lokalizację i chcę się upewnić, że mamy tutaj 62 00:06:23,900 --> 00:06:30,800 lokalizację , więc sprawdzę, czy wybrano lokalizację, a ściślej, jeśli jej nie mamy, więc jeśli jest ona 63 00:06:30,830 --> 00:06:32,300 niezdefiniowana, co oznacza, 64 00:06:32,330 --> 00:06:37,580 że użytkownik jeszcze jej nie wybrał, wrócę i nie będę kontynuować, a 65 00:06:37,820 --> 00:06:44,750 my możemy też pokazać alert tutaj, jeśli chcemy. Teraz tego nie zrobię, ale możesz to 66 00:06:44,780 --> 00:06:46,780 zrobić, jeśli chcesz. 67 00:06:46,950 --> 00:06:52,110 Teraz będziemy mogli kliknąć przycisk Zapisz tylko, jeśli mamy wybraną lokalizację, ale jeśli to 68 00:06:52,110 --> 00:06:54,740 zrobimy, faktycznie ustawimy ją na parametry naszej 69 00:06:54,750 --> 00:06:57,250 akcji powrotu. Spróbujmy, chodźmy 70 00:06:57,250 --> 00:07:03,250 tam, kliknij picK na mapie, a teraz pamiętaj, że nie wybrałem jeszcze żadnej lokalizacji, jeszcze 71 00:07:03,280 --> 00:07:04,630 nie kliknąłem, więc jeśli 72 00:07:04,630 --> 00:07:09,160 kliknę zapisz, nic się nie stanie. Jeśli jednak wybiorę lokalizację i kliknę zapisać, wracam. 73 00:07:09,970 --> 00:07:17,560 Więc teraz możemy wykorzystać dane, które przekazujemy z ekranu mapy w naszym selektorze lokalizacji, aby ostatecznie zaktualizować tam podgląd mapy, 74 00:07:17,590 --> 00:07:18,890 więc to 75 00:07:18,910 --> 00:07:20,290 kolejna rzecz, którą zrobię.