Entonces, cada vez que nuestra ubicación cambie aquí en el selector de ubicación, quiero informar la nueva pantalla de lugar.
Bueno, eso, por supuesto, significa
que aquí, cuando elegí un lugar en el mapa o también aquí, si obtuve la ubicación del usuario, en ambos casos quiero
activar un método o una función que espero obtener de mi nueva pantalla de lugar.
Entonces, al final, lo mismo que hacemos en el selector de imágenes. Una vez que tomé una imagen, llamo accesorios
en la imagen tomada para llamar a una función que el componente principal, para que
la nueva pantalla de lugar, pueda pasar al selector de imágenes y quiero hacer lo mismo aquí,
quiero usar el mismo patrón Aquí en el selector de ubicación.
Entonces, aquí, después de elegir una ubicación con el botón Ubícame, quiero activar accesorios en la
ubicación elegida y reenviar esta ubicación al final, a la derecha y quiero hacer exactamente lo mismo si obtengo una nueva ubicación en el
mapa.
Entonces, además de configurar la ubicación interna para actualizar la vista previa, reenviaré en este
caso aquí, la ubicación de selección del mapa. Entonces, en la ubicación elegida ahora es un
accesorio que podemos establecer en el selector de ubicación, así que lo haré aquí en la pantalla de
nuevo lugar y esto debería apuntar a una función que recibirá la ubicación elegida. Entonces, aquí podemos agregar el controlador de ubicación seleccionada, esta es
una función y, por supuesto, esta función recibirá la ubicación al final y, por el momento, simplemente la consola lo registrará allí y
luego tomaré el nombre de la función aquí y lo pasaré a en la ubicación seleccionada para que se pase
una referencia a esta función a la ubicación seleccionada en el selector de ubicación.
Ahora, una cosa importante, en la ubicación elegida, se está utilizando el efecto de uso
aquí, por lo tanto, debemos especificarlo como una
dependencia, por lo que para especificar solo esto y no todos nuestros accesorios, usaré esta sintaxis de desestructuración para obtener
la ubicación seleccionada de mis accesorios como este, para que pueda usarlo sin accesorios.
Ahora puedo usarlo aquí en la ubicación elegida y ahora para asegurarme de que no tengamos un bucle infinito, de vuelta en la
nueva pantalla de lugar donde hacemos con enviar esta función, necesito asegurarme
de que el controlador de ubicación elegida es lo que hago proporcionar en el lugar elegido es una función que
no cambia todo el tiempo.
Así que aquí, importaré la devolución de llamada de uso y la devolución de llamada de uso alrededor de mi controlador seleccionado de ubicación, para evitar que esto se vuelva
a crear con cada ciclo de representación y, por lo tanto, entre en un bucle infinito
y aquí la devolución de llamada de uso no necesita dependencias porque allí, En este momento no estoy
haciendo nada con datos externos.
Así que ahora deberíamos ver ese registro con suerte cuando seleccionamos un usuario con el botón Obtener ubicación del usuario
y eso se
ve bien, aquí está mi salida y lo mismo si lo selecciono en el mapa.
Entonces, si elijo una ubicación aquí y hago clic en Guardar, también obtengo esta salida. Eso parece funcionar, esta fue mi primera salida, esta fue la segunda salida
para seleccionarla
en el mapa y con eso, tenemos la información disponible en la
pantalla del nuevo
lugar, ahora solo tenemos que almacenarla en algún estado allí como lo
estamos haciendo con el título y la imagen, por lo que la ubicación seleccionada y establecer la ubicación seleccionada,
lo obtenemos con la ayuda del estado de uso y ahora podemos llamar a establecer la ubicación seleccionada aquí
y establecer nuestra ubicación, de esta manera. No necesita especificar esto como una
dependencia, podría pero React garantizará que no cambie de todos modos, por lo que
no necesita especificar esto y ahora tenemos nuestra ubicación seleccionada aquí. Ahora podemos usar esto en el controlador de guardar lugar, allí además de reenviar
el valor del título y la imagen
seleccionada, ahora también podemos reenviar la ubicación seleccionada para agregar un lugar. Y, por lo tanto, lo siguiente que haremos es trabajar en nuestra
lógica de Redux para tener en cuenta esa ubicación y eso es algo que falta en este momento, también
asegúrese
de traducir este par de coordenadas que obtenemos también en una dirección legible para humanos.