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

236
Visualizações
ERROR: no capturado (en promesa) TypeError: no se pueden leer las propiedades de undefined (leyendo 'datos')

Estoy escribiendo aplicaciones en Spring Boot y reacciono. Estoy ejecutando un servidor y quiero enviar un formulario desde el lado del cliente. El formulario debe guardarse en la base de datos.

Completé el formulario y se guardó en la base de datos, pero después de completar el formulario y hacer clic en el botón "enviar", la página debería cambiar a la pantalla principal de la aplicación, es decir, la dirección /dashboard , pero aún me quedo con el form y cuando ingreso a devtools obtengo un ERROR : Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'data').

Es decir, resulta que la aplicación en sí funciona, los datos se transfieren entre el cliente y el servidor y se almacenan en la base de datos. Entonces, el problema radica en el lado de la interfaz, específicamente en el lado de reacción. El mensaje también apunta al archivo específico donde está el problema, es decir, en el archivo projectActions.js

Sin embargo, no sé demasiado sobre cuál es el problema específicamente, donde cometí un error, que la página después de enviar el formulario no se "recarga" y regresa a la dirección especificada.

A continuación envío la clase a la que se hace referencia en el error.

También proporciono las versiones de los paquetes que uso:

 "axios": "^0.27.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "^8.0.2", "react-router-dom": "^6.3.0", "react-scripts": "5.0.1"

proyectoAcciones.js

 import axios from "axios"; import { GET_ERRORS } from "./types"; export const createProject = (project, history) => async (dispatch) => { try { const res = await axios.post("http://localhost:8080/api/project", project); history.push("/dashboard"); } catch (error) { dispatch({ type: GET_ERRORS, payload: error.response.data, }); } };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Su problema está dentro del bloque catch , está tratando de leer error.response.data , y el problema se debe a que no hay un atributo de response en el error, no está definido, y cuando intenta leer data en undefined, terminará con este error . Dependiendo del tipo de error, el error tendrá diferentes estructuras. Lea esto para tener una idea de cómo manejar el error de axios (necesita verificaciones seguras): axios-error-handling

about 4 years ago · Juan Pablo Isaza Relatório

0

el problema esta en

 payload: error.response.data,

si está seguro de que la mayor parte de su error tiene esta estructura, puede usar payload: error?.response?.data .

Tenga en cuenta que realmente no vi una estructura error.response.data en un mensaje de error antes. Por lo tanto, es mejor que cambie la forma en que maneja el error.

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