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

277
Visualizações
Intento mostrar los datos de la API pero no sale nada, ni siquiera un error en React

Poco a poco estoy entendiendo los servicios y busco con React, pero cuando trato de mostrar algo, no me muestra absolutamente nada. Dejo el código por si alguien me puede ayudar. Tal vez tenga que mirar cómo trabajar con JSON, no lo sé.

 let datosApi = []; const recogerDatos = () => { let json = "https://jsonplaceholder.typicode.com/albums"; let miApi = "http://localhost/dsw/api/"; fetch(json) .then(data => data.json()) .then(info => { console.log(info); this.datosApi = info; }) } function Services() { return ( <> {datosApi.map(datos => ( <p>{datos.title}</p> ))} </> ); } export default Services;

Los datos JSON aparecen en https://jsonplaceholder.typicode.com/albums

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

0

Estás mostrando datos de tu lista

 let datosApi = [];

Sin embargo, no parece que esté completando su lista con datos de la API, ya que nunca se llama al método recogerDatos().

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que a tu ejemplo le falta algo o no lo has hecho.

Básicamente hay algunas cosas mal:

  1. recogerDatos nunca se llama
  2. datosApi no está declarado, e incluso si lo estuviera, no tiene estado, por lo que no provocará una nueva representación de sus elementos.

He creado un entorno limitado de trabajo aquí que muestra que funciona, y el código está a continuación:

 const [result, setResult] = useState([]); const recogerDatos = () => { let json = "https://jsonplaceholder.typicode.com/albums"; fetch(json) .then((data) => data.json()) .then((info) => { console.log(info); setResult(info); }); }; useEffect(() => { recogerDatos(); }, []); return ( <div className="App"> {result.length > 0 && result.map((datos) => <p>{datos.title}</p>)} </div> );

La función recogerDatos se llama al cargar la página (ver useEffect), y el resultado se actualiza cuando la recuperación es exitosa. Esto provoca una nueva representación y se muestran los elementos.

about 4 years ago · Juan Pablo Isaza Relatório

0

Según su código, parece que le faltan algunos patrones básicos de React, como la gestión del estado y el ciclo de vida de los componentes. Dado que React vuelve a renderizar muchos componentes, desea almacenar cosas como los datos obtenidos en el estado para evitar que se restablezcan constantemente a su valor inicial. Y cuando desea recuperar los datos, generalmente no desea hacerlo en cada renderizado (eso causaría MUCHA recuperación), sino que generalmente desea activarlos en función de diferentes eventos, por ejemplo, cuando el componente (que se utilizará para mostrar estos datos) está montado. Tales cosas generalmente usan los métodos del ciclo de vida de los componentes / useEffect hooks para garantizar que sucedan en el momento correcto. Te recomiendo que vayas a la documentación de React y estudies un poco más los conceptos básicos para que puedas comprender los conceptos principales cuando estés codificando, pero aquí hay un sandbox rápido con un ejemplo de cómo puedes obtener el efecto deseado en React: https:/ /codesandbox.io/s/beautiful-frost-on9wmn?file=/src/App.js

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