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

287
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 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