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

243
Vistas
Cómo detener al usuario que ya ha iniciado sesión para volver a la página de inicio de sesión en React.js

Aquí, estoy tratando de evitar que el usuario regrese a la página de inicio de sesión si el usuario está conectado actualmente, la primera línea en la función de procesamiento está causando un error

Error: se excedió la profundidad máxima de actualización. Esto puede suceder cuando un componente llama repetidamente a setState dentro de componentWillUpdate o componentDidUpdate. React limita la cantidad de actualizaciones anidadas para evitar bucles infinitos.

Pero no estoy llamando a setState aquí, solo estoy llamando a una función de otro módulo para verificar si devuelve un usuario o no

 render() { if (auth.getCurrentUser()) return <Redirect to="/" />; return ( <div id="loginWrapper"> <h3>Login</h3> <ToastContainer /> <form onSubmit={this.handleSubmit}> {this.renderInput("username", "Username")} {this.renderInput("password", "Password", "password")} {this.renderButton("Login")} </form> </div> );

}

y aquí está mi módulo de autenticación desde donde se llama a la función,

 import jwtDecode from "jwt-decode"; export function getCurrentUser() { try { const jwt = localStorage.getItem("token"); return jwtDecode(jwt); } catch { return null; } } export default { getCurrentUser, };
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

use la condición ternaria con el token jwt en su ruta, lo que puede ayudarlo a verificar que el usuario haya iniciado sesión o no, también puede hacer que su ruta sea privada. ty

about 4 years ago · Juan Pablo Isaza Denunciar

0

Podría crear un componente ProtectedRoute que redirija según el estado de autenticación.

 import React from 'react'; import { Route } from 'react-router-dom'; const ProtectedRoute = ({ component: Component, ...restProps }) => { return ( <Route {...restProps} render={ props => { if (!auth.getCurrentUser()) { return <Component {...rest} {...props} /> } else { return <Redirect to={ { pathname: '/', state: { from: props.location } } } /> } } } /> ) } export default ProtectedRoute;

Luego puede llamar al componente ProtectedRoute en la página de inicio de sesión así:

 <ProtectedRoute path='/login' component={LoginPage} />
about 4 years ago · Juan Pablo Isaza Denunciar
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