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

210
Visualizações
auth0 reactjs redirige a una ruta diferente si no ha iniciado sesión

Estoy aprendiendo Auth0 + reaccionar y estoy mirando específicamente el ejemplo aquí: https://github.com/auth0-blog/auth0-react-sample

En la página home.js hay un bloque de código:

 import React, { Fragment } from "react"; import { Hero, HomeContent } from "../components"; const Home = () => ( <Fragment> <Hero /> <hr /> <HomeContent /> </Fragment> ); export default Home;

Lo que quiero hacer es representar el JSX (? Creo que ese es el término) <Hero /> si el usuario está autenticado y presentar algo que diga "Usuario no autenticado para esto" si el usuario no ha iniciado sesión.

Pude hacer funcionar la primera parte cambiando el archivo a:

 import React, { Fragment } from "react"; import { Hero, HomeContent } from "../components"; import ProtectedRoute from "../auth/protected-route"; const Home = () => ( <Fragment> <ProtectedRoute path="/Hero" component={Hero} /> {/*<Hero />*/} <hr /> <HomeContent /> </Fragment> ); export default Home;

Sin embargo, no sé cómo representar un div "No iniciado sesión". Puedo hacer una vista separada con bastante facilidad y convertirla en una ruta, pero no sé cómo hacer el bloque if/else.

Disculpas si la pregunta es tonta, viniendo del mundo de python.

¡Gracias!

#Editar 1: El componente de la ruta protegida se encuentra a continuación:

 // src/auth/protected-route.js import React from "react"; import { Route } from "react-router-dom"; import { withAuthenticationRequired } from "@auth0/auth0-react"; import { Loading } from "../components/index"; const ProtectedRoute = ({ component, ...args }) => ( <Route component={withAuthenticationRequired(component, { onRedirecting: () => <Loading />, })} {...args} /> ); export default ProtectedRoute;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Según lo que necesite, podemos volver a llamar al useAuth0 en el componente Inicio para obtener el estado de autenticación. Prueba lo siguiente:

 const Home = () => { const { isAuthenticated } = useAuth0() return ( <Fragment> {isAuthenticated ? <Hero /> : "User not authenticated for this"} <hr /> <HomeContent /> </Fragment> ) }

El useAuth0 es en realidad solo un consumidor de API de contexto: https://github.com/auth0/auth0-react/blob/master/src/use-auth0.tsx

El proveedor de contexto Auth0ProviderWithHistory se representa en index.js y envuelve nuestro componente de la App , por lo que podemos llamar al gancho useAuth0 en cualquier lugar de nuestra App para obtener cualquiera de las funciones auxiliares o de estado de Auth0.

Si no conoce la API de React Context, aquí están los documentos: https://reactjs.org/docs/context.html

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