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

215
Visualizações
La instancia de Axios no funciona con Nextjs: 'Almacenamiento local no definido'

Tengo una aplicación de reacción.

Tengo un componente axios que quiero reutilizar:

 import axios from 'axios' import dynamic from 'next/dynamic' const baseUrl = 'http://127.0.0.1:8000/' const axiosInstance = axios.create({ baseURL: baseUrl, timeout: 5000, headers: { Authorization: localStorage.getItem('access_token') ? 'Bearer ' + localStorage.getItem('access_token') : null, 'Content-Type': 'application/json', accept: 'application/json', } }) export default axiosInstance

Ahora, trato de importar esto en mi página de registro de la siguiente manera:

import axiosInstance from "axiosInstance"

El archivo en sí se ve así:

 const handleFormSubmit = async (values: any) => { axiosInstance.post(`account/register/`, { username: values.username, email: values.email, password: values.password, confirm_password: values.confirm_password, }).then((response) => { console.log(response); }); // router.push('/profile') console.log(values); };

Sin embargo, esto arroja un error:

ingrese la descripción de la imagen aquí

¿Pueden algunos por favor ayudarme con este problema? Soy nuevo en Nextjs y miré

https://nextjs.org/docs/advanced-features/dynamic-import#with-no-ssr

pero no estoy seguro de cómo usarlo en este contexto.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

localStorage es una propiedad en el objeto de la window , y dado que next.js es un marco de representación del lado del servidor, la próxima vez que represente el componente en el servidor, window.localStorage no estará definido.

Para importarlo, configure la instancia de axios de esta manera:

 const axiosInstance = axios.create({ baseURL: baseUrl, timeout: 5000, headers: { // if localStorage is not defined, it wont throw error Authorization:localStorage && localStorage.getItem('access_token') ? 'Bearer ' + localStorage.getItem('access_token') : null, 'Content-Type': 'application/json', accept: 'application/json', } })

y luego adentro

about 4 years ago · Juan Pablo Isaza Relatório

0

localStorage es parte del almacenamiento del navegador y no del servidor. Podría usar una variable de entorno y usar process.env.ACCESS_TOKEN

Se puede leer más aquí

Básicamente, crea un archivo llamado .env.local Hay soporte integrado en NextJS para este archivo.

Aquí definiste tus variables de la siguiente manera

 ACCESS_TOKEN=myAccessTokenIsAwesome SOMETHING_ELSE=myOtherKeyINeed

En su código, puede usar process.env.ACCESS_TOKEN para usar esta variable de entorno definida

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