1 00:00:02,280 --> 00:00:08,810 Portanto, sempre que nossa localização mudar aqui no seletor de localização, desejo informar a nova tela de local. 2 00:00:09,030 --> 00:00:11,460 Bem, é claro que isso 3 00:00:11,490 --> 00:00:20,400 significa que aqui, quando escolhi um lugar no mapa ou também aqui, se obtive a localização do usuário, em ambos os casos, quero 4 00:00:21,030 --> 00:00:26,840 acionar um método ou uma função que espero obter da minha nova tela de local. 5 00:00:26,940 --> 00:00:31,740 Portanto, a mesma coisa que fazemos no seletor de imagens no final. Lá, quando tirei uma imagem, chamo adereços na 6 00:00:31,800 --> 00:00:35,810 imagem tirada para chamar uma função que o componente pai, para que a nova tela 7 00:00:35,850 --> 00:00:40,360 de local possa passar para o seletor de imagens e eu quero fazer o mesmo aqui, quero 8 00:00:40,390 --> 00:00:43,080 usar o mesmo padrão aqui no seletor de local. 9 00:00:43,110 --> 00:00:50,820 Então, aqui, depois de escolher um local com o botão por favor, localize-me, quero acionar 10 00:00:50,910 --> 00:01:02,720 adereços no local escolhido e encaminhar esse local no final, certo e quero fazer exatamente a mesma coisa se tiver um novo local no 11 00:01:02,720 --> 00:01:03,560 mapa. 12 00:01:03,560 --> 00:01:08,640 Portanto, além de definir o local interno para atualizar a visualização, encaminharemos aqui, 13 00:01:08,900 --> 00:01:14,570 o local de escolha do mapa. Portanto, no local escolhido agora é um suporte 14 00:01:14,570 --> 00:01:20,030 que podemos definir no seletor de local, então farei isso aqui na nova tela de local 15 00:01:20,030 --> 00:01:28,960 e isso agora deve apontar para uma função que receberá o local escolhido. Então, aqui podemos adicionar o manipulador de localização escolhido, essa 16 00:01:29,020 --> 00:01:37,870 é uma função e, é claro, essa função receberá a localização no final e, por enquanto, eu vou apenas consolá-la lá 17 00:01:38,200 --> 00:01:46,020 e depois pegar o nome da função aqui e passar para no local escolhido para que uma referência 18 00:01:46,170 --> 00:01:51,770 a esta função seja passada para o local escolhido no selecionador de local. 19 00:01:51,840 --> 00:01:56,430 Agora, uma coisa importante: no local escolhido, está sendo usado o efeito de uso 20 00:01:56,460 --> 00:01:59,190 aqui; portanto, devemos especificá-lo como uma dependência; 21 00:01:59,400 --> 00:02:05,730 portanto, para especificar apenas isso e não todos os nossos props, usarei esta sintaxe de desestruturação para chegar ao 22 00:02:05,730 --> 00:02:10,230 local escolhido dos meus adereços assim, para que eu possa usá-lo sem adereços. 23 00:02:10,320 --> 00:02:17,340 Agora eu posso usá-lo aqui no local escolhido e agora para garantir que não recebamos loop infinito, de volta à nova tela de 24 00:02:17,340 --> 00:02:20,850 local onde fazemos o envio dessa função, preciso garantir que o 25 00:02:21,030 --> 00:02:27,120 local escolhido seja o manipulador que é o que eu faço fornecer no local escolhido é uma função que 26 00:02:27,750 --> 00:02:29,620 não muda o tempo todo. 27 00:02:29,640 --> 00:02:37,830 Portanto, aqui, importarei o uso de retorno de chamada e o uso de retorno de chamada em torno do manipulador escolhido 28 00:02:37,830 --> 00:02:42,380 pelo local, para evitar que isso seja recriado a cada ciclo de 29 00:02:42,660 --> 00:02:47,760 re-renderização e, portanto, entrarei em um loop infinito. agora não estou fazendo nada 30 00:02:47,760 --> 00:02:49,350 com dados externos. 31 00:02:49,420 --> 00:02:55,630 Portanto, agora devemos ver esse log, esperançosamente, quando selecionamos um usuário com o botão obter localização do usuário e 32 00:02:56,930 --> 00:02:57,930 isso parece 33 00:02:58,040 --> 00:03:02,700 bom, aqui está a minha saída e a mesma se eu selecioná-lo no mapa. 34 00:03:02,710 --> 00:03:12,520 Portanto, se eu escolher um local aqui e clicar em salvar, também recebo essa saída. Então isso parece funcionar, essa aqui foi minha primeira saída, esta 35 00:03:12,520 --> 00:03:13,740 foi a 36 00:03:13,810 --> 00:03:18,430 segunda saída para selecioná-la no mapa e, com isso, temos 37 00:03:18,430 --> 00:03:19,740 as informações disponíveis 38 00:03:19,840 --> 00:03:24,680 na nova tela de local, agora precisamos armazená-las em algum estado 39 00:03:24,720 --> 00:03:32,080 lá como fazemos com o título e a imagem, para o local selecionado e o local selecionado, 40 00:03:32,080 --> 00:03:39,400 obtemos isso com a ajuda do estado de uso e agora podemos chamar o local selecionado aqui 41 00:03:39,400 --> 00:03:44,770 e definir a nossa localização, assim. Você não precisa especificar isso como 42 00:03:44,770 --> 00:03:50,540 uma dependência, mas o React garantirá que isso não seja alterado, portanto você não 43 00:03:50,930 --> 00:03:59,830 precisará especificar isso e agora temos o local selecionado aqui. Agora podemos usar isso no manipulador de salvar local; além de encaminhar o 44 00:03:59,830 --> 00:04:02,560 valor do título e a imagem 45 00:04:02,560 --> 00:04:10,420 selecionada, também podemos encaminhar o local selecionado para adicionar o local. E, portanto, a próxima coisa que faremos é trabalhar em nossa 46 00:04:10,480 --> 00:04:16,960 lógica do Redux para levar em consideração esse local e isso é algo que está faltando no momento, além 47 00:04:16,990 --> 00:04:17,650 de 48 00:04:17,650 --> 00:04:22,750 garantir que traduzimos esse par de coordenadas e também para um endereço legível por humanos.