Estoy tratando de establecer una constante de mi estado, pero parece que no funciona cuando hace unos días funcionó.
Llamo al setter en una función como esta:
const [activeMarker, setActiveMarker] = useState(null); const handleActiveMarker = (marker) => { if (marker === activeMarker) { return; } setActiveMarker(marker); console.log(marker, '--', activeMarker) };
Eso se llama en
{markers.map(({ id, latitud, longitud}) => ( <Marker key={id} position={{lat: latitud, lng: longitud}} onClick={() => handleActiveMarker(id) } /> ))}
Los marcadores de atributo son una matriz de marcadores y están bien impresos en mi mapa, pero cuando hago clic, en console.log de mi controlador, obtengo la identificación del marcador y nulo en activeMarker donde debe aparecer el mismo número.
Recuerde que useState es asíncrono, por lo que no se actualizará de inmediato. Para obtener el valor de console.log para registrar su valor, debe agregar un useEffect.
useEffect(() => { console.log(activeMarker) },[activeMarker])