1 00:00:02,280 --> 00:00:08,810 Dlatego za każdym razem, gdy nasza lokalizacja zmienia się tutaj w selektorze lokalizacji, chcę poinformować o nowym ekranie miejsca. 2 00:00:09,030 --> 00:00:11,460 Cóż, to oczywiście oznacza, 3 00:00:11,490 --> 00:00:20,400 że tutaj, kiedy wybrałem miejsce na mapie lub tutaj, jeśli mam lokalizację użytkownika, w obu przypadkach chcę 4 00:00:21,030 --> 00:00:26,840 uruchomić metodę lub funkcję, które oczekuję od nowego ekranu miejsca. 5 00:00:26,940 --> 00:00:31,740 Więc to samo, co robimy na końcu w selektorze obrazów. Tam, kiedy zrobiłem zdjęcie, wywołuję rekwizyty 6 00:00:31,800 --> 00:00:35,810 na zdjęciu wykonanym w celu wywołania funkcji, którą komponent nadrzędny, więc nowy 7 00:00:35,850 --> 00:00:40,360 ekran miejsca, może przejść do selektora zdjęć i chcę zrobić to samo tutaj, chcę 8 00:00:40,390 --> 00:00:43,080 użyć tego samego wzoru tutaj w selektorze lokalizacji. 9 00:00:43,110 --> 00:00:50,820 Więc tutaj, po wybraniu lokalizacji za pomocą przycisku Proszę zlokalizuj mnie, chcę uruchomić rekwizyty 10 00:00:50,910 --> 00:01:02,720 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 11 00:01:02,720 --> 00:01:03,560 mapie. 12 00:01:03,560 --> 00:01:08,640 Poza ustawieniem wewnętrznej lokalizacji do aktualizacji podglądu, w tym przypadku 13 00:01:08,900 --> 00:01:14,570 przekażę tutaj lokalizację wyboru mapy. Więc na wybranej lokalizacji jest teraz 14 00:01:14,570 --> 00:01:20,030 rekwizyt, który możemy ustawić na selektorze lokalizacji, więc zrobię to tutaj na nowym ekranie 15 00:01:20,030 --> 00:01:28,960 miejsca, a to powinno teraz wskazywać funkcję, która odbierze wybraną lokalizację. Więc tutaj możemy dodać moduł obsługi lokalizacji, jest 16 00:01:29,020 --> 00:01:37,870 to funkcja i ta funkcja oczywiście na końcu odbierze lokalizację i na razie po prostu konsolę zarejestruję tam, 17 00:01:38,200 --> 00:01:46,020 a następnie wezmę nazwę funkcji i przekażę to do na wybranej lokalizacji, tak aby odwołanie 18 00:01:46,170 --> 00:01:51,770 do tej funkcji było przekazywane na lokalizację wybraną w selektorze lokalizacji. 19 00:01:51,840 --> 00:01:56,430 Teraz jedna ważna rzecz, przy wyborze lokalizacji, tutaj przydaje się efekt użycia, dlatego 20 00:01:56,460 --> 00:01:59,190 powinniśmy określić ją jako zależność, więc 21 00:01:59,400 --> 00:02:05,730 aby określić tylko to, a nie wszystkie nasze rekwizyty, użyję tej składni destrukcyjnej, ponieważ dostanę się do wybranej 22 00:02:05,730 --> 00:02:10,230 lokalizacji moich rekwizytów w ten sposób, abym mógł używać go bez rekwizytów. 23 00:02:10,320 --> 00:02:17,340 Teraz mogę go użyć tutaj na wybranej lokalizacji, a teraz, aby upewnić się, że nie otrzymamy nieskończonej pętli, z powrotem na 24 00:02:17,340 --> 00:02:20,850 nowym ekranie miejsca, w którym wykonujemy wysyłanie tej funkcji, muszę 25 00:02:21,030 --> 00:02:27,120 się upewnić, że moduł wyboru lokalizacji jest tym, co robię Podaj w wybranym miejscu to funkcja, która 26 00:02:27,750 --> 00:02:29,620 nie zmienia się cały czas. 27 00:02:29,640 --> 00:02:37,830 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 28 00:02:37,830 --> 00:02:42,380 przy każdym cyklu ponownego renderowania, dlatego wchodzę w nieskończoną pętlę i tutaj 29 00:02:42,660 --> 00:02:47,760 użycie wywołania zwrotnego nie wymaga żadnych zależności, ponieważ tam, w tej chwili nic nie 30 00:02:47,760 --> 00:02:49,350 robię z danymi zewnętrznymi. 31 00:02:49,420 --> 00:02:55,630 Więc teraz powinniśmy zobaczyć ten dziennik, gdy mamy albo wybrać użytkownika za pomocą przycisku Pobierz lokalizację użytkownika, 32 00:02:56,930 --> 00:02:57,930 który wygląda 33 00:02:58,040 --> 00:03:02,700 dobrze, oto mój wynik i to samo, jeśli wybiorę go na mapie. 34 00:03:02,710 --> 00:03:12,520 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 35 00:03:12,520 --> 00:03:13,740 był 36 00:03:13,810 --> 00:03:18,430 drugi wynik do wybrania go na mapie, a dzięki 37 00:03:18,430 --> 00:03:19,740 temu mamy informacje 38 00:03:19,840 --> 00:03:24,680 dostępne na nowym ekranie miejsca, teraz musimy tylko zapisać je 39 00:03:24,720 --> 00:03:32,080 w jakimś stanie ponieważ robimy to z tytułem i obrazem, więc wybraną lokalizację i ustaw wybraną 40 00:03:32,080 --> 00:03:39,400 lokalizację, otrzymujemy to za pomocą stanu użycia, a teraz możemy wywołać ustaw wybraną lokalizację tutaj i 41 00:03:39,400 --> 00:03:44,770 ustawić naszą lokalizację, tak jak to. Nie musisz określać tego jako 42 00:03:44,770 --> 00:03:50,540 zależności, ale React zagwarantuje, że i tak się nie zmieni, więc nie 43 00:03:50,930 --> 00:03:59,830 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 44 00:03:59,830 --> 00:04:02,560 wartości tytułu przesyłania i wybranego obrazu, 45 00:04:02,560 --> 00:04:10,420 możemy teraz również przekazać wybraną lokalizację, aby dodać miejsce. Dlatego następną rzeczą, którą zrobimy, będzie praca nad naszą 46 00:04:10,480 --> 00:04:16,960 logiką Redux, aby uwzględnić tę lokalizację, a tego właśnie brakuje w tej chwili, upewnij się również, 47 00:04:16,990 --> 00:04:17,650 że 48 00:04:17,650 --> 00:04:22,750 przetłumaczymy tę parę współrzędnych, którą otrzymamy również na adres czytelny dla ludzi.