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

182
Visualizações
¿Por qué los datos de mi API solo se muestran una vez y cuando actualizo la página da un error?

Estoy trabajando en un proyecto que muestra un título de comida al azar y la imagen de esa comida. Tengo problemas para averiguar por qué los datos se muestran en la página solo una vez y una vez que actualizo la página, aparece el error "Error de tipo no detectado: la lista de recetas no está definida".

Esta es mi casa.js

 import React, { useEffect, useState } from "react"; import axios from "axios"; import Recipe from "../components/Recipes"; const URL = `https://api.spoonacular.com/recipes/random?apiKey=${APIKey}&number=1`; console.log(URL); function Home() { const [food, setFood] = useState({}); useEffect(() => { axios .get(URL) .then(function (response) { setFood(response.data); }) .catch(function (error) { console.warn(error); }); }, []); return ( <main> <Recipe recipeList={food} /> </main> ); } export default Home;

y este es mi componente Recipe.js

 import React from "react"; function Recipe({ recipeList }) { return ( <div className="recipeCard"> <h1>{recipeList.recipes[0].title}</h1> <img src={recipeList.recipes[0].image} alt="Food" /> </div> ); } export default Recipe;
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

debe verificar si sus datos de food no están vacíos o son nulos, aquí un ejemplo:

 <main> {food && <Recipe recipeList={food} />} </main>

en primer lugar, debe cargar los datos en efecto de uso

 useEffect(() => { const loadData=()=>{ axios .get(URL) .then(function (response) { setFood(response.data); }) .catch(function (error) { console.warn(error); }); } if(!food){ // just for dont load empty data -->setFood(response.data) loadData() } }, []);

estás cargando datos vacíos cuando recargas la página

about 4 years ago · Juan Pablo Isaza Relatório

0

rn3w se me adelantó. El mensaje de error indica que la recipeList.recipes no existe, lo cual es correcto porque cuando se inicializa el componente Recipe , la Lista de recipeList ( food del componente Home ) se establece en {} .

los datos se muestran en la página solo una vez y una vez que actualizo la página, da un error...

¡El misterio para mí es por qué los datos se muestran en la página la primera vez! Parece que debería comenzar con el mensaje de 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