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

177
Vistas
¿Cómo puedo dirigir a mi usuario a la página que quiero según su tipo?

Creo que es una lógica simple, pero como todavía estoy aprendiendo, tengo algunas dificultades para implementarla.

En la página de inicio de sesión de mi proyecto, obtengo los datos de quién inició sesión después de una solicitud de publicación. y en el usuario tengo el campo "tipo". Solo hay 2 tipos de usuarios.

Quiero que, si el usuario tiene tipo A, sea redirigido a la página de "inicio", si es de tipo B, vaya a la página "principal". Si aún no tiene un valor de tipo definido, vaya a la página "tipo de usuario".

Escribí esta lógica aquí pero no funciona. ¿Alguien puede ayudarme?

aquí está mi código

 async function onFinish(values) { let axiosConfig = { headers: { "Content-Type": "application/json;charset=UTF-8", "Access-Control-Allow-Origin": "*", }, }; Axios.post( ` /login`, { email: values.email, senha: values.password, }, axiosConfig ) .then((resp) => { var name = resp?.data[0]?.prinom; var userId = resp?.data[0]?.id; var prodUser = resp?.data[0]; localStorage.setItem("prodUser", JSON.stringify(prodUser)); //here's the part i need help if (!resp?.data[0]?.tipo) history.push("/tipodeusuario"); resp?.data[0]?.tipo === "pac" ? history.push("/homepac") : history.push("/home"); })
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Después de encontrar el tipo de usuario (es decir, A o B), simplemente puede asignar una nueva URL a window.location

Aquí hay un pseudocódigo

 function getUserType(AorB){ //Get user type return AorB; } //Store urls in a variable let url = (getUserType('A') == 'A')? './UrlForUserTypeA':'./UrlForUserTypeB'; //Redirect console.log('Redirecting...'); window.location = url;

Espero que eso sea lo que necesitabas

about 4 years ago · Juan Pablo Isaza Denunciar

0

En primer lugar, debe almacenar su respuesta en una variable para tener un código legible, así:

let apiResp = respoone.data.tipo;

 if (apiResp === A){ history.push('/HomePage') }if(apiResp === B) { history.push('/MainPAge') }else { history.push('/userType') }

También puede utilizar el enfoque "Cambiar caso".

O Operador condicional (ternario) que no recomiendo porque hace que su código sea menos legible.

about 4 years ago · Juan Pablo Isaza Denunciar

0

useHistory ha cambiado en react-router v6. ahora usamos useNavigate .

 if (apiResp === A){ navigate('/HomePage'); }if(apiResp === B) { navigate('/MainPage'); }else { navigate('/userType'); }

gracias @Amin Arshadinia :)

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