Chcę więc mieć przycisk zapisu w nagłówku i oczywiście musimy dodać opcje nawigacji na ekranie mapy i użyć
formularza funkcji, abyśmy mieli dostęp do tej nawigacji, tego obiektu z obiektem
nawigacyjnym i tam , Chcę zwrócić mój obiekt konfiguracji.
Możesz dodać tytuł nagłówka, ale tak naprawdę jestem
szczęśliwy bez niego, ale chcę ustawić nagłówek tutaj i teraz ważne, tutaj możesz
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ę
się, że go importujesz. Wyrenderuję tutaj tekst, w którym
powiem tylko zapisz, a możesz oczywiście dodać zaznaczenie platformy, aby zrobić
wielkie litery
na Androidzie, jeśli chcesz, po prostu powiedz tak, a następnie dodaj styl tutaj, w którym Dodaję styl tekstu przycisku
nagłówka i wokół niego chcę mieć dotykalny widok, więc użyję dotykowego krycia, które
również musisz importować, nie stamtąd, ale faktycznie z React Native, więc dotykowe krycie
powinno zostać zaimportowane z React Native, a po zaimportowaniu możemy owinąć ten tekst wokół tego tekstu,
aby utworzyć własne przyciski, że tak powiem, i tam też chcę dodać styl, a ten
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ą
wybraliśmy, ale to zrobię za sekundę, na razie stylizujmy to. Tak więc na dole w arkuszu stylów, dla przycisku
nagłówka, którym jest ta przezroczysta krycie, dodam margines poziomy 20, aby mieć pewne odstępy wokół przycisku po lewej i prawej
stronie, a na tekście przycisku nagłówka tutaj, oczywiście w górę do ciebie, co chcesz
tam dodać, ale dodam rozmiar czcionki 16, powiedzmy i ważny, kolor. W tym celu potrzebuję interfejsu API platformy, ponieważ kolor musi
się różnić, ponieważ znajduje się on w nagłówku, który ma solidne tło na Androidzie, ale
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
na biały, a w przeciwnym razie ustawię go na Kolory. podstawowe i do tego, jak
zawsze, upewnij się, że importujesz swoje stałe kolory z tego miejsca.
Więc teraz mamy przycisk Zapisz, kiedy naciskamy przycisk Zapisz, chcę uruchomić funkcję, która powinna zostać zdefiniowana
w komponencie, i to również zrobiliśmy wiele razy w trakcie, pokazałem ci, jak możesz komunikować
się między swoim komponentem a także opcje nawigacji tutaj. Możemy więc zasadniczo dodać tutaj nową
funkcję, zapisać wybrany moduł lokalizacji, cokolwiek chcesz nazwać, a ta funkcja lub odwołanie do tej funkcji powinny zostać przekazane do opcji
nawigacji i do tego możemy użyć starego dobrego haka efektu
użycia i użyj funkcji oddzwaniania, aby uniknąć tej nieskończonej pętli, jeśli pamiętasz, a zatem możemy
ją następnie owinąć za pomocą funkcji oddzwaniania, a następnie użyć efektu tutaj, aby poinformować o tym nasze opcje nawigacji za
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
funkcji, do tego parametru lub do tego parametru do moich nagłówków, a użycie efektu
oczywiście zależy od funkcji procedury lokalizacji lokalizacji zapisu, więc dodam ją tutaj jako zależność i
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ę
i wrócić, więc tutaj mogę użyć nawigacji rekwizytów, wróć
i poprawimy to za sekundę, ale na razie mogę to zrobić.
Dlatego normalnie oczywiście ta funkcja powrotu byłaby moją zależnością, ale aby uniknąć nieskończonej pętli, przy
takim podejściu musimy użyć parametrów do zaktualizowania komponentu, na którym już
jesteśmy, dodam tutaj pustą tablicę jako zależność, aby ta funkcja nie została w tej
chwili odbudowana.
Dzięki temu możemy wyodrębnić ten parametr zapisu lokalizacji w naszym nagłówku.
Więc tutaj chcę wskazać moją funkcję zapisu, którą otrzymuję z navData. nawigacja. getParam wskazuje na identyfikator lokalizacji zapisu,
a następnie funkcja zapisu jest funkcją, którą podłączam do obsługi onPress na
dotykowym kryciu.
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
wyboru na
mapie, a jeśli teraz kliknę zapisz, powinien po prostu wrócić i to zrobi.
Więc to działa, ale oczywiście teraz, nie zapisuję żadnej lokalizacji, nie używam żadnej lokalizacji, to kolejny
krok i do tego musimy
przekazać lokalizację wybraną przez użytkownika z powrotem do poprzedniego ekranu. Wracając, jest to stosunkowo trudne, ale
zamiast tego możemy użyć wzoru, którego tak naprawdę wcześniej nie użyłem w
tym kursie, mogę również użyć nawigacji tutaj, aby wrócić. Mogę nawigować do mojego nowego ekranu miejsca z nowym identyfikatorem
miejsca, który został ustawiony tutaj w nawigatorze miejsc, a ponieważ już jestem na ekranie przed tym nowym ekranem miejsca, nie zapominaj,
że jest to
stos ekranów, a ja Jestem na ekranie nad nowym ekranem miejsca, tak naprawdę to
nie przesunie tego nowego ekranu miejsca na istniejący ekran, moglibyśmy wymusić to za
pomocą push, ale nie chcę, zamiast tego
wróci, ale teraz za pomocą nawigacji mogę dodać tutaj kilka parametrów. Mogę dodać wybraną lokalizację i wskazać tam
wybrany rekwizyt lokalizacji, który, mam nadzieję, zawiera wybraną lokalizację. Teraz, kiedy używam tutaj wybranej lokalizacji i od czasu tych
zmian, dodam to jako zależność do korzystania z oddzwaniania, aby ta funkcja została
odtworzona, gdy wybraliśmy nową lokalizację i chcę się upewnić, że mamy tutaj
lokalizację , więc sprawdzę, czy wybrano lokalizację, a ściślej, jeśli jej nie mamy, więc jeśli jest ona
niezdefiniowana, co oznacza,
że użytkownik jeszcze jej nie wybrał, wrócę i nie będę kontynuować, a
my możemy też pokazać alert tutaj, jeśli chcemy. Teraz tego nie zrobię, ale możesz to
zrobić, jeśli chcesz.
Teraz będziemy mogli kliknąć przycisk Zapisz tylko, jeśli mamy wybraną lokalizację, ale jeśli to
zrobimy, faktycznie ustawimy ją na parametry naszej
akcji powrotu. Spróbujmy, chodźmy
tam, kliknij picK na mapie, a teraz pamiętaj, że nie wybrałem jeszcze żadnej lokalizacji, jeszcze
nie kliknąłem, więc jeśli
kliknę zapisz, nic się nie stanie. Jeśli jednak wybiorę lokalizację i kliknę zapisać, wracam.
Więc teraz możemy wykorzystać dane, które przekazujemy z ekranu mapy w naszym selektorze lokalizacji, aby ostatecznie zaktualizować tam podgląd mapy,
więc to
kolejna rzecz, którą zrobię.