A ver como explico esto, estoy intentando que cuando un usuario presiona un boton pregunte si quiere guardar la ubicacion o no, cuando presiona el boton de permitir debe enviarlos a otra pagina, pero si por el contrario presionamos bloquear mostrará un mensaje hasta que el usuario decida aceptar la geolocalización. (Todo se hace con el mismo botón, es decir, pulsándolo si no hay petición de permiso, y si ya se ha concedido o denegado, muestra el contenido de permitir o bloquear)
const getButtonId = (e) => { e.preventDefault(); if(!('geolocation' in navigator)) { console.log('Opción no disponible'); return; } navigator.geolocation.getCurrentPosition(pos => { }, err => { console.log('Error obteniendo localización: ' + err.message); }); } <button className="btn primary mr-0 lg:mr-8 w-[200px] mb-4" onClick={getButtonId}>Continuar</button>Espero haberte entendido correctamente, quieres que un botón esté activo o deshabilitado en base a algo. puede deshabilitarlo con <button disabled={true}> y, en lugar de codificar el "verdadero", asígnelo a useState() y cámbielo con setState()
const demo = () => { const [btnState, setBtnState] = useState(false) // this is the starting value of the btn false == active // u can call the setBtnState to change the btn state like so: setBtnState(true) // here u give it the new state (true/false) // every time u set a new state using this function the "disabled" value will update return( <button disabled={btnState}></button> )}