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

174
Views
¿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 answers
Answer question

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 Report

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 Report

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