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

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

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

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

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