Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

396
Views
Oculte la barra de navegación y la barra lateral en la 'página de inicio de sesión', pero muéstrelas en otras páginas

Soy nuevo en reactjs y no pude resolver este problema. Cuando hago clic en el botón de inicio de sesión, va a la página de inicio, pero la barra de navegación y la barra lateral permanecen en la página de inicio de sesión. ¿Como puedo solucionar este problema? ¿No puedo manejar este problema sin colocar la barra de navegación y la barra lateral dentro de otros componentes?

Aplicación.js

Página de inicio de sesión

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Finalmente lo resolví. Explicaré cada parte del código.

En primer lugar, importe useState y useEffect desde react

 import { useState, useEffect } from 'react'

Ahora, tenemos que saber la ruta actual de la página web. Para eso, usamos useState para establecer la ruta actual.

En la función App() , inicializamos currPath y establecemos su valor inicial en la ruta actual.

 const [currPath, setCurrPath] = useState(window.location.pathname)

Según el comportamiento de useEffect() , se llama cada vez que se modifican los elementos de la página. Lo usamos para obtener la ruta actual cada vez que vamos a la página con una ruta diferente, es decir, cuando se modifican los elementos de la página.

 useEffect(() => { setCurrPath(window.location.pathname) }, [])

Ahora, cada vez que vamos a una página diferente, currPath se actualiza. Como solo queremos mostrar la barra de navegación y la barra lateral siempre que la path no sea / , es decir, no sea la ruta de inicio de sesión, lo escribimos como:

 {currPath !== '/' && <><SidebarNav /><Navbar /></>}

El fragmento anterior se encuentra justo debajo de la etiqueta de apertura <BrowserRouter> .

Nota: varios elementos JSX deben estar envueltos en una etiqueta envolvente y, por lo tanto, tanto <SidebarNav /> como <Navbar /> están envueltos dentro de <> y </> .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!