Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

189
Visualizações
Al cerrar la sesión, el componente de la barra lateral aún está visible

Blockquote: este es el componente de la barra lateral, donde se escribe el botón de cierre de sesión y su método. como referencia, he compartido la imagen a continuación

 function sidelink(val) { return( <li className={val.lis}> <i className={val.icon} aria-hidden="true"></i> <Link to={val.link} className={val.slink}>{val.name}</Link> </li> ); } function SideBar() { const history = useHistory(); function logout() { localStorage.clear(); history.push("/"); } return ( ... <Link onClick={logout} className="text-white text-decoration-none">LOGOUT</Link> ... ) } export default SideBar

ingrese la descripción de la imagen aquí

 function Admin() { const history = useHistory(); useEffect(()=> { if (!(localStorage.getItem('user_login'))&&!(localStorage.getItem('admin_login'))) { history.push("/") } else { history.push("/admin") } },[]) return ( <div> <Router> <SideBar/> <Switch> <Route exact path="/admin" component={Main}></Route> <Route exact path="/course" component={CourseSection}></Route> <Route exact path="/subject" component={SubjectSection}></Route> <Route exact path="/faculty" component={FacultySection}></Route> <Route exact path="/class" component={ClassSection}></Route> <Route exact path="/constrain" component={ConstrainSection}></Route> <Route exact path="/timetable" component={TimetableSection}></Route> </Switch> </Router> </div> ) } export default Admin

Cita en bloque

al cerrar la sesión, la URL y el componente principal funcionan correctamente, pero el componente de la barra lateral aún está visible y, después de volver a cargarlo, cierra la sesión correctamente

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Para lograrlo, puede usar el gancho useState() para determinar el estado de autenticidad.

 function Admin() { const history = useHistory(); //useState() ------ const [login,setLogin] = useState(false); useEffect(()=> { if (!(localStorage.getItem('user_login'))&&!(localStorage.getItem('admin_login'))) { //Not authenticated ------- setLogin(false) history.push("/") } else { //Authenticated ------- setLogin(true) history.push("/admin") } },[]) return ( <div> <Router> {login?<SideBar/>:""} <Switch> <Route exact path="/admin" component={Main}></Route> <Route exact path="/course" component={CourseSection}></Route> <Route exact path="/subject" component={SubjectSection}></Route> <Route exact path="/faculty" component={FacultySection}></Route> <Route exact path="/class" component={ClassSection}></Route> <Route exact path="/constrain" component={ConstrainSection}></Route> <Route exact path="/timetable" component={TimetableSection}></Route> </Switch> </Router> </div> ) }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda