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

180
Visualizações
¿Cómo establece useState las variables?

He publicado algo similar en el pasado y nunca obtuve una respuesta y sigo teniendo este problema. Las cosas en mi aplicación funcionan, pero no estoy muy seguro de por qué. Estoy usando una API de terceros para hacer una aplicación de recetas simple. Los datos que paso a mi componente se muestran como se esperaba, pero no se inicia sesión en la consola como se esperaba.
La línea 20 de App.js está registrando lo que esperaría (los datos recibidos de la API). La línea 4 de Recipe.jsx está registrando lo que esperaría (cada elemento en la matriz de recetas). Pero la línea 22 de App.js vuelve como indefinida. Esperaría que debido a que configuré Recetas en 'datos', esas 'recetas' registrarían lo mismo que 'datos'. ¿Puede alguien explicarme esto?

 import React, { useEffect, useState } from "react"; import "./App.css"; import Recipe from "./Recipe"; import axios from "axios"; function App() { const APP_ID = "XXXXXXXX"; const APP_KEY = "XXXXXXXXXXXXXXXXXXX"; const url = `https://api.edamam.com/api/recipes/v2?type=public&q=chicken&app_id=${APP_ID}&app_key=${APP_KEY}`; const [recipes, setRecipes] = useState([]); useEffect(() => { getRecipes(); }, []); const getRecipes = async () => { const res = await axios(url); const data = await res.data.hits; console.log(data); setRecipes(data); console.log(recipes); }; return ( <div className="App"> <form className="search-form"> <input className="search-input" type="text" /> <button className="search-button" type="submit"> Search Recipes </button> </form> {recipes && recipes.map((recipe, idX) => <Recipe recipe={recipe} id={idX} />)} </div> ); } export default App;
 import React from "react"; const Recipe = ({ recipe, id }) => { console.log(recipe); return ( <div key={id}> <h1>{recipe.recipe.label}</h1> <p>{recipe.recipe.calories}</p> <img src={recipe.recipe.images.SMALL.url} alt="" /> </div> ); }; export default Recipe;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

SetState es asíncrono y es posible que no se resuelva de inmediato. Consulte esta parte de los documentos para obtener más información.

https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous

Como ha dicho, los datos que regresan son correctos y ha realizado una llamada para establecer el estado. Pero el estado no se ha resuelto cuando llega a la siguiente línea donde se consola el estado

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