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

283
Views
Bienvenida dinámica <usuario> de la barra de navegación en reactJs

Tengo una duda con respecto a la representación dinámica del nombre del usuario que inició sesión en la barra de navegación en reaccionar.

Así que mi aplicación está estructurada de la siguiente manera

 <App> <Header/> <Router> .... <Router/> <Footer/> <App/>

Ahora, dentro del componente de encabezado, necesito mostrar "Bienvenido <usuario>" cada vez que el usuario haya iniciado sesión. Aquí hay algunas soluciones en las que pensé, pero no estoy seguro si me estoy perdiendo algo.

  1. Para enviarlo como apoyo a la cabecera. Pero solo puede ser dinámico si hago un setState en el componente de la aplicación y vuelvo a renderizar todo el componente de la aplicación (que quiero evitar)
  2. Para almacenarlo en redux, de modo que el encabezado pueda actualizarse dinámicamente. Pero como estoy usando JWT y el usuario debe permanecer conectado, si el usuario actualiza la página, el contenido de la tienda se borrará.
  3. Puedo almacenar el nombre de usuario en el almacenamiento local también, pero aún sería necesario volver a procesar toda la aplicación para mostrar el cambio.

-) Creo que se puede lograr en Angular mediante BehaviorSubject, pero en este escenario, no tengo ni idea.

¿Hay alguna solución o método que me esté perdiendo? Gracias por adelantado

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

0

Puede enviar al usuario como accesorio al encabezado. Ese es el método preferido. Haga que el usuario inicie sesión y guarde el estado de su aplicación con redux del useState que ahora está disponible en React.

A su segunda pregunta, los JWT conservan los datos de la sesión. Volver a renderizar la página no hará que desaparezca. Las aplicaciones bien diseñadas tienen JWT con un tiempo de vencimiento (generalmente 20 minutos o menos).

Trabajé en una aplicación de votación que hacía exactamente lo que estaba buscando y no requería ninguna gestión de estado global. Siéntete libre de elegirlo. Es un proyecto de código abierto. Creo que usamos Auth0 o la biblioteca Oauth de Google para realizar la autenticación.

Aquí está el código para el encabezado React (barra de navegación): https://github.com/poll-pal/poll-pal/blob/master/src/Components/Header/Header.js

Aquí está el código para el servidor Express que lo respaldó: https://github.com/poll-pal/poll-pal/blob/master/server/routes/auth.js

about 4 years ago · Juan Pablo Isaza Report

0

Al principio, si desea mantener a su usuario conectado, debe almacenar el JWT en algún lugar. Aquí por 'algún lugar' quiero decir, para que pueda acceder a él en la próxima recarga.

En mi proyecto máximo, almaceno mi JWT en almacenamiento local. funciona algo como esto

  • Cuando el usuario inicia sesión, almaceno el JWT en el almacenamiento local también en mi reductor.
  • Luego, en mi 'Estado inicial', siempre tomo el almacenamiento local, de modo que si tenemos algo en el almacenamiento local, significa que el usuario está conectado
 initial_state = { userName: localstorage.getItem('user_name') }

Así es como puede mantener a su usuario conectado y, en el momento de cerrar la sesión, borrar el almacenamiento local y el reductor.

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!