Dlatego za każdym razem, gdy nasza lokalizacja zmienia się tutaj w selektorze lokalizacji, chcę poinformować o nowym ekranie miejsca.
Cóż, to oczywiście oznacza,
że tutaj, kiedy wybrałem miejsce na mapie lub tutaj, jeśli mam lokalizację użytkownika, w obu przypadkach chcę
uruchomić metodę lub funkcję, które oczekuję od nowego ekranu miejsca.
Więc to samo, co robimy na końcu w selektorze obrazów. Tam, kiedy zrobiłem zdjęcie, wywołuję rekwizyty
na zdjęciu wykonanym w celu wywołania funkcji, którą komponent nadrzędny, więc nowy
ekran miejsca, może przejść do selektora zdjęć i chcę zrobić to samo tutaj, chcę
użyć tego samego wzoru tutaj w selektorze lokalizacji.
Więc tutaj, po wybraniu lokalizacji za pomocą przycisku Proszę zlokalizuj mnie, chcę uruchomić rekwizyty
w wybranej lokalizacji i przesłać tę lokalizację na końcu, tak, i chcę zrobić dokładnie to samo, jeśli otrzymam nową lokalizację na
mapie.
Poza ustawieniem wewnętrznej lokalizacji do aktualizacji podglądu, w tym przypadku
przekażę tutaj lokalizację wyboru mapy. Więc na wybranej lokalizacji jest teraz
rekwizyt, który możemy ustawić na selektorze lokalizacji, więc zrobię to tutaj na nowym ekranie
miejsca, a to powinno teraz wskazywać funkcję, która odbierze wybraną lokalizację. Więc tutaj możemy dodać moduł obsługi lokalizacji, jest
to funkcja i ta funkcja oczywiście na końcu odbierze lokalizację i na razie po prostu konsolę zarejestruję tam,
a następnie wezmę nazwę funkcji i przekażę to do na wybranej lokalizacji, tak aby odwołanie
do tej funkcji było przekazywane na lokalizację wybraną w selektorze lokalizacji.
Teraz jedna ważna rzecz, przy wyborze lokalizacji, tutaj przydaje się efekt użycia, dlatego
powinniśmy określić ją jako zależność, więc
aby określić tylko to, a nie wszystkie nasze rekwizyty, użyję tej składni destrukcyjnej, ponieważ dostanę się do wybranej
lokalizacji moich rekwizytów w ten sposób, abym mógł używać go bez rekwizytów.
Teraz mogę go użyć tutaj na wybranej lokalizacji, a teraz, aby upewnić się, że nie otrzymamy nieskończonej pętli, z powrotem na
nowym ekranie miejsca, w którym wykonujemy wysyłanie tej funkcji, muszę
się upewnić, że moduł wyboru lokalizacji jest tym, co robię Podaj w wybranym miejscu to funkcja, która
nie zmienia się cały czas.
Więc tutaj zaimportuję użycie wywołania zwrotnego i zawiń użycie wywołania zwrotnego wokół mojego modułu obsługi lokalizacji, aby uniknąć tego, że będzie on odtwarzany
przy każdym cyklu ponownego renderowania, dlatego wchodzę w nieskończoną pętlę i tutaj
użycie wywołania zwrotnego nie wymaga żadnych zależności, ponieważ tam, w tej chwili nic nie
robię z danymi zewnętrznymi.
Więc teraz powinniśmy zobaczyć ten dziennik, gdy mamy albo wybrać użytkownika za pomocą przycisku Pobierz lokalizację użytkownika,
który wygląda
dobrze, oto mój wynik i to samo, jeśli wybiorę go na mapie.
Więc jeśli wybiorę tutaj lokalizację i kliknę przycisk Zapisz, otrzymam również ten wynik. Wydaje się, że to działa, to był mój pierwszy wynik, to
był
drugi wynik do wybrania go na mapie, a dzięki
temu mamy informacje
dostępne na nowym ekranie miejsca, teraz musimy tylko zapisać je
w jakimś stanie ponieważ robimy to z tytułem i obrazem, więc wybraną lokalizację i ustaw wybraną
lokalizację, otrzymujemy to za pomocą stanu użycia, a teraz możemy wywołać ustaw wybraną lokalizację tutaj i
ustawić naszą lokalizację, tak jak to. Nie musisz określać tego jako
zależności, ale React zagwarantuje, że i tak się nie zmieni, więc nie
musisz tego określać, a teraz mamy tutaj wybraną lokalizację. Możemy teraz użyć tego w module obsługi zapisu miejsca, tam oprócz
wartości tytułu przesyłania i wybranego obrazu,
możemy teraz również przekazać wybraną lokalizację, aby dodać miejsce. Dlatego następną rzeczą, którą zrobimy, będzie praca nad naszą
logiką Redux, aby uwzględnić tę lokalizację, a tego właśnie brakuje w tej chwili, upewnij się również,
że
przetłumaczymy tę parę współrzędnych, którą otrzymamy również na adres czytelny dla ludzi.