Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

285
Vistas
React OnClick={function() { } } Sin hacer nada

Así es como se ve mi código:

 function Header() { const [{ user }, dispatch] = useStateValue(); const [isLoggedIn, setIsLoggedIn] = useState(false); const navigate = useNavigate(); let buttonHit = false; const handleAuth = () => { auth.onAuthStateChanged((authUser) => { if (authUser) { console.log("sume else"); auth.signOut(); } else { console.log("sum"); navigate('/Login'); } }); } return ( <Navbar className="navbar" bg="dark" variant="dark" expand="lg"> <Link className="navbar-brand" to='/'><Navbar.Brand>Scythe's Sweet Treats</Navbar.Brand></Link> <Navbar.Toggle aria-controls="main-navbar" /> <Navbar.Collapse id="main-navbar"> <Nav className="mr-auto"> <Link to='/' className="nav-links">Home</Link> <Link to='/Products' className="nav-links">Products</Link> <Link to='/About' className="nav-links">About</Link> <Link to='/Gallery' className="nav-links">Gallery</Link> <Link to='/ContactUs' className="nav-links">Contact Us</Link> </Nav> <Nav className="ms-auto"> {(user) ? user.uid === 'TirT8syQ6jdbaFPTC0So2HLlsie2' ? <Link className="nav-links" to='/Admin'>Admin</Link> : <Link to='#' className="d-none"></Link> : null} <Link className='nav-links' to='#'>Hello, {!user ? 'Guest': user.email}</Link> <Link onclick={() => handleAuth()} to="#" className="nav-links">{user ? 'Sign Out' : 'Sign In'}</Link> </Nav> </Navbar.Collapse> </Navbar> ) }

He tenido el problema de que cuando inicio sesión, el onclick se activa inmediatamente y cierra la sesión del usuario, así que lo cambié porque leí un stackOverflow con el mismo problema. Pero cambiándolo a {function() {handleAuth()} } o {() => {handleAuth()}} o {() => handleAuth()}

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Estoy cerrando esto ahora porque encontré una solución alternativa, pero el problema era que cuando hacía onClick={handleAuth} se activaba tan pronto como se cargaba la página y cerraba la sesión del usuario, pero cuando lo hacía onClick={() => handleAuth()} no hizo nada, ni siquiera aparecían console.logs. Mi trabajo terminó siendo usar un enlace y to="loginRedirect" para crear una página que verifique si hay un usuario y maneje el inicio/cierre de sesión por sí solo. Pero con eso estaba teniendo el mismo problema en el que cerraría la sesión del usuario de inmediato. Terminé usando window.location.replace en lugar de useNavigate por este motivo. Lea el otro comentario para ver por qué navegar no funcionó.

Editar: Olvidé que no puedes simplemente cerrar una pregunta en stackoverflow lmao

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda