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

371
Vistas
React JS obteniendo datos (error: no se pueden leer las propiedades de undefined)

Solo estoy tratando de aprender JavaScript. Tengo que crear una aplicación web para la escuela. Ahora estoy tratando de obtener datos de una API escrita por mí mismo. El backend está escrito con express, el frontend con JavaScript. Tengo una página de resumen, donde se muestran todos los productos. Después de hacer clic en el botón de detalles, el usuario debería poder ver los detalles del producto seleccionado. Para esto uso este código.

 import React, { useState, useEffect } from "react"; import "./Articles.css"; function ArticleDetail({ match }) { useEffect(() => { fetchArticle(); }, []); const [article, setArticle] = useState([]); async function fetchArticle() { try { const response = await fetch( `http://localhost:8000/api/articles/${match.params.id}` ); const article = await response.json(); //console.log(data.results); console.log(article); setArticle(article); return article; } catch (error) { console.error(error); } } return ( <div> <p>TEST</p> <p>{article.articles.pk_article_nr}</p> <p>TEST</p> </div> ); } export default ArticleDetail;

Si ejecuto este código y no actualizo la página por mi cuenta, se muestra el valor correcto (pk_article_nr). Si actualizo el navegador manualmente, aparece este error.

TypeError: no se pueden leer las propiedades de undefined (leyendo 'pk_article_nr')

Estos datos se muestran en la consola:

 {articles: {…}} articles: article_description: "lorem ipsum" article_expiretimestamp: "2022-01-15 18:52:27" article_picture: null article_timestamp: "2022-01-15 18:37:27" article_title: "Test 4" bid_amount: 80 fk_article_nr: 4 fk_user_userid: null pk_article_nr: 4 pk_bid_id: 8`

¿Me podría ayudar? No he encontrado nada que me ayude. Tal vez acabo de buscar la cosa equivocada.

gracias, max

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

deberías cambiar

 <p>{article.articles.pk_article_nr}</p>

a

 <p>{article?.articles?.pk_article_nr}</p>

Razón para que esto suceda:

React quiere acceder a la propiedad antes del montaje, mientras que la propiedad aún no ha recibido ningún contenido

about 4 years ago · Juan Pablo Isaza Denunciar
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