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

185
Vistas
Componente montado dos veces en la actualización de la página cuando se usa el almacenamiento local para Auth0

Por alguna razón, cuando se usa cacheLocation='localstorage' para Auth0, una actualización de página en nuestra aplicación hace que se realice una llamada dos veces...

ingrese la descripción de la imagen aquí Sin almacenamiento local funciona bien...

ingrese la descripción de la imagen aquí

Usamos almacenamiento local cuando ejecutamos pruebas de Cypress, ya que la redirección de página al iniciar sesión no funciona sin él.

La duplicación no ocurre cuando se inicia sesión por primera vez, solo en la página siguiente se actualiza cuando se inicia sesión. Al eliminar el comentario en el siguiente código, se duplica la llamada como en la primera captura de pantalla...

 return ( <Auth0Provider domain={process.env...} clientId={process.env...} redirectUri={ typeof window !== 'undefined' ? window.location.origin : `http://localhost:3000` } onRedirectCallback={onRedirectCallback} audience={process.env...} //cacheLocation='localstorage' > <UserInfoProvider> <PubSubProvider> <StackedLayout> <Component {...pageProps} /> </StackedLayout> </PubSubProvider> </UserInfoProvider> </Auth0Provider> )

Editar: a continuación se muestra un fragmento relevante del código de la página...

 let [searchState, setSearchState] = useState() const router = useRouter() const [data, setData] = useState() const [error, setError] = useState() const [references, setReferences] = useState({}) const {getAccessTokenSilently} = useAuth0() useEffect(() => { const fetchData = async () => { setData(null) setError(null) const accessToken = await getAccessTokenSilently() const res = await fetch( `${props.apiBaseHref}?${new URLSearchParams(props.query).toString()}`, { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': `Bearer ${accessToken}` } } ) if (!res.ok) { setError('some error') } else { setData(await (res.json())) } } setSearchState({ ...props.query }) fetchData() }, [props.apiBaseHref, props.query, getAccessTokenSilently])
about 4 years ago · Juan Pablo Isaza
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