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

116
Vistas
El estado del gancho de contexto de reacción no cambia

Estoy creando una autenticación MERN simple, mi backend funciona completamente bien y lo he probado con cartero, da respuestas booleanas cuando verifica si el usuario ha iniciado sesión.

A continuación se muestra el enrutador para verificar el usuario que inició sesión y enviar los valores booleanos a la interfaz.

 router.get("/loggedIn", (req, res) => { try { const token = req.cookies.token; if (!token) return res.json(false); jwt.verify(token, process.env.JWT_SECRET); res.send(true); } catch (err) { res.json(false); } });

En React, estoy usando Context Hook para obtener esa respuesta usando Axios.

 import React, { useState, useEffect, createContext } from "react"; import Axios from "axios"; const AuthContext = createContext(); function AuthContextProvider(props) { const [loggedIn, setLoggedIn] = useState(undefined); const getLoggedIn = async () => { await Axios.get("http://localhost:5000/auth/loggedIn") .then((res) => setLoggedIn(res.data)) .catch((err) => console.log(err)); }; useEffect(() => { getLoggedIn(); }, []); return ( <AuthContext.Provider value={{ loggedIn, getLoggedIn }}> {props.children} </AuthContext.Provider> ); } export default AuthContext; export { AuthContextProvider };

Estoy usando el inicio de loggedIn para renderizar condicionalmente algunos componentes, pero el valor o el estado siempre permanece false , si cambio el estado de las herramientas de desarrollo, el renderizado condicional funciona bien.

implementación de AuthContext de autenticación,

 const { loggedIn } = useContext(AuthContext); {loggedIn === false && ( <Link className="nav-link" to="/login"> <FaUser /> </Link> )} {loggedIn === true && ( <Link className="nav-link" to="/logout"> <Button variant="outline-dark">Logout</Button> </Link> )}

Como puede ver, solo quiero renderizar condicionalmente un componente, pero siempre devuelve false

Soy nuevo en ContextHook.

about 4 years ago · Juan Pablo Isaza
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