Portanto, sempre que nossa localização mudar aqui no seletor de localização, desejo informar a nova tela de local.
Bem, é claro que isso
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
acionar um método ou uma função que espero obter da minha nova tela de local.
Portanto, a mesma coisa que fazemos no seletor de imagens no final. Lá, quando tirei uma imagem, chamo adereços na
imagem tirada para chamar uma função que o componente pai, para que a nova tela
de local possa passar para o seletor de imagens e eu quero fazer o mesmo aqui, quero
usar o mesmo padrão aqui no seletor de local.
Então, aqui, depois de escolher um local com o botão por favor, localize-me, quero acionar
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
mapa.
Portanto, além de definir o local interno para atualizar a visualização, encaminharemos aqui,
o local de escolha do mapa. Portanto, no local escolhido agora é um suporte
que podemos definir no seletor de local, então farei isso aqui na nova tela de local
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
é uma função e, é claro, essa função receberá a localização no final e, por enquanto, eu vou apenas consolá-la lá
e depois pegar o nome da função aqui e passar para no local escolhido para que uma referência
a esta função seja passada para o local escolhido no selecionador de local.
Agora, uma coisa importante: no local escolhido, está sendo usado o efeito de uso
aqui; portanto, devemos especificá-lo como uma dependência;
portanto, para especificar apenas isso e não todos os nossos props, usarei esta sintaxe de desestruturação para chegar ao
local escolhido dos meus adereços assim, para que eu possa usá-lo sem adereços.
Agora eu posso usá-lo aqui no local escolhido e agora para garantir que não recebamos loop infinito, de volta à nova tela de
local onde fazemos o envio dessa função, preciso garantir que o
local escolhido seja o manipulador que é o que eu faço fornecer no local escolhido é uma função que
não muda o tempo todo.
Portanto, aqui, importarei o uso de retorno de chamada e o uso de retorno de chamada em torno do manipulador escolhido
pelo local, para evitar que isso seja recriado a cada ciclo de
re-renderização e, portanto, entrarei em um loop infinito. agora não estou fazendo nada
com dados externos.
Portanto, agora devemos ver esse log, esperançosamente, quando selecionamos um usuário com o botão obter localização do usuário e
isso parece
bom, aqui está a minha saída e a mesma se eu selecioná-lo no mapa.
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
foi a
segunda saída para selecioná-la no mapa e, com isso, temos
as informações disponíveis
na nova tela de local, agora precisamos armazená-las em algum estado
lá como fazemos com o título e a imagem, para o local selecionado e o local selecionado,
obtemos isso com a ajuda do estado de uso e agora podemos chamar o local selecionado aqui
e definir a nossa localização, assim. Você não precisa especificar isso como
uma dependência, mas o React garantirá que isso não seja alterado, portanto você não
precisará especificar isso e agora temos o local selecionado aqui. Agora podemos usar isso no manipulador de salvar local; além de encaminhar o
valor do título e a imagem
selecionada, também podemos encaminhar o local selecionado para adicionar o local. E, portanto, a próxima coisa que faremos é trabalhar em nossa
lógica do Redux para levar em consideração esse local e isso é algo que está faltando no momento, além
de
garantir que traduzimos esse par de coordenadas e também para um endereço legível por humanos.