Cómo usar las APIs Fetch en React

React, popular librería JS para interfaces, facilita la obtención de datos de APIs. Esta guía explora cómo obtener datos de una API en React, con un ejemplo práctico.

Daniel Costa

Daniel Costa

15 April 2025

Cómo usar las APIs Fetch en React

En el desarrollo web moderno, integrar datos de fuentes externas es un requisito común. React, una popular biblioteca de JavaScript para construir interfaces de usuario, proporciona una forma sencilla de obtener datos de APIs.

En esta guía, exploraremos el proceso de obtener datos de una API en React, acompañado de un ejemplo práctico. Además, proporcionaremos una forma sencilla de generar código de cliente Fetch con un solo clic en Apidog.

button

¿Qué es una API?

Una API (Application Programming Interface, Interfaz de Programación de Aplicaciones) es un conjunto de reglas y protocolos que permite que diferentes aplicaciones de software se comuniquen e interactúen entre sí.

Por ejemplo, cuando usas una aplicación del tiempo en tu teléfono, es probable que interactúe con la API de un servicio meteorológico para recuperar los datos meteorológicos actuales de tu ubicación. La aplicación envía una solicitud a la API del servicio meteorológico siguiendo un formato específico, y la API responde con la información meteorológica solicitada, facilitando la integración perfecta entre los dos sistemas de software.

Creación de APIs en React con Fetch API

La API Fetch proporciona una interfaz moderna para realizar solicitudes HTTP como GET y POST desde el navegador. Utiliza promesas de JavaScript, lo que facilita el trabajo con solicitudes y respuestas. Para realizar una solicitud, simplemente llamas al método fetch(), pasas la URL de la que obtener los datos y, a continuación, gestionas la respuesta cuando se resuelve. Esto es mucho más sencillo que trabajar directamente con solicitudes XMLHttp.

Cuando se utiliza Fetch con React, puedes realizar solicitudes en métodos de ciclo de vida de los componentes como useEffect y actualizar el estado del componente cuando se reciben los datos. Esto te permite obtener datos de una API y mostrarlos en tu interfaz de usuario.

La API Fetch se integra muy bien con React, ya que ambos utilizan promesas. Puedes gestionar los estados de carga y error para que la experiencia sea fluida para el usuario. En general, Fetch combinado con React es una combinación muy potente para crear aplicaciones de una sola página basadas en datos.

Cómo utilizar las APIs Fetch en React con un ejemplo detallado

Para aquellos que estén familiarizados con la biblioteca de JavaScript, aquí hay otra forma de usar la API Fetch en React.

Crear una aplicación React

La configuración de un proyecto React implica una serie de pasos. Aquí tienes una guía básica para ayudarte a empezar:

1.Instalar Node.js y npm: Descarga e instala Node.js y npm desde https://nodejs.org/.

2. Crear una aplicación React: Abre tu terminal y ejecuta npx create-react-app mi-aplicacion-react. Reemplaza "mi-aplicacion-react" con el nombre de proyecto que prefieras.

3. Iniciar el servidor de desarrollo:

¡Eso es todo! Has creado con éxito una aplicación React en solo tres sencillos pasos. Ahora puedes sumergirte en tu código, hacer modificaciones y ver los cambios en tiempo real a medida que desarrollas tu aplicación.

Usar la API Fetch en React

Usar la API Fetch en React implica realizar solicitudes HTTP a recursos o APIs externas. Aquí tienes una guía sencilla sobre cómo usar la API Fetch en un componente React:

Paso 1: Importar React y el Hook useState

import React, { useState, useEffect } from 'react';

Paso 2: Crear un componente funcional

function MyComponent() {
  // State to store fetched data
  const [data, setData] = useState(null);

  // Effect to fetch data when the component mounts
  useEffect(() => {
    fetchData();
  }, []); // Empty dependency array ensures the effect runs once on mount

  // Function to fetch data
  const fetchData = async () => {
    try {
      // Make a GET request using the Fetch API
      const response = await fetch('https://api.example.com/data');
      
      // Check if the response is successful (status code 200-299)
      if (!response.ok) {
        throw new Error('Network response was not ok');
      }

      // Parse the JSON data from the response
      const result = await response.json();

      // Update the state with the fetched data
      setData(result);
    } catch (error) {
      console.error('Error fetching data:', error.message);
    }
  };

  // Render the component
  return (
    <div>
      {data ? (
        // Display the fetched data
        <p>{JSON.stringify(data)}</p>
      ) : (
        // Display a loading message or other UI while data is being fetched
        <p>Loading...</p>
      )}
    </div>
  );
}

export default MyComponent;

Paso 3: Usar el componente

import React from 'react';
import MyComponent from './MyComponent';

function App() {
  return (
    <div>
      <h1>React Fetch Example</h1>
      <MyComponent />
    </div>
  );
}

export default App;

En este ejemplo:

Generación de código de cliente con un solo clic con Apidog

La integración fluida con los servicios de backend es una piedra angular del desarrollo frontend, que a menudo se logra a través de la API fetch. Esta interfaz facilita las solicitudes HTTP directas desde el navegador, lo que otorga a las aplicaciones React la capacidad de recuperar eficientemente datos de backends o APIs externas.

Para aquellos desarrolladores que puedan encontrar desalentadora la codificación detallada de las solicitudes API dentro de React, las herramientas de generación de código de cliente con un solo clic como Apidog presentan un valioso ahorro de tiempo. Aquí hay una API de tienda de mascotas POST como ejemplo.

Haz clic en el icono para generar el código de cliente de la siguiente manera:

 Generate client code

Aquí está el resultado de Fetch Data.

Fetch Data result

Apidog simplifica este proceso al convertir las especificaciones de la API de backend en código listo para usar para el lado del cliente, haciendo coincidir con precisión las estructuras de datos y los puntos finales necesarios y evitando la complejidad y los errores asociados con la codificación manual.

Integración del código de cliente generado en una aplicación React

El código de cliente generado se puede integrar en una aplicación React siguiendo estos pasos generales:

  1. Importar archivos generados en la aplicación React: Copia los archivos generados (o toda la carpeta) en tu proyecto React. Asegúrate de que estos archivos sean compatibles con la estructura de tu proyecto.

2. Importar y usar funciones de solicitud de API generadas: En tu componente React u otra ubicación apropiada, importa las funciones de solicitud de API generadas y úsalas. Por ejemplo:

import { createPet, getPetById } from './path/to/generated/api';

// Use in a component or elsewhere
async function fetchData() {
  try {
    const newPet = await createPet({ name: 'Fido', age: 2 });
    const petDetails = await getPetById(newPet.id);
    console.log(petDetails);
  } catch (error) {
    console.error('Error fetching data:', error.message);
  }
}

3. Gestionar datos: Procesa los datos devueltos de las solicitudes API, actualizando potencialmente el estado del componente, renderizando la interfaz de usuario, etc.

Consejo adicional de Apidog:

La ventaja de aprovechar Apidog se extiende a su función de simulación, que permite a los desarrolladores emular las respuestas del backend, una capacidad crítica durante las primeras etapas de desarrollo o cuando las APIs del backend aún no están listas.

Estos datos simulados garantizan que el desarrollo del frontend se mantenga dentro del cronograma, lo que permite trabajar en la interfaz de usuario, la experiencia del usuario y la lógica general de la aplicación sin depender de la preparación del backend.

Mock
button

Explore more

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Cómo usar Lovable AI (Alternativa a Cursor para desarrolladores web)

Aprende a crear cualquier web con Lovable en esta guía completa. Descubre procesos paso a paso, funciones innovadoras e integra herramientas gratuitas como Apidog para gestión API.

15 April 2025

Cómo usar n8n con servidores MCP

Cómo usar n8n con servidores MCP

Automatiza flujos con n8n y servidores MCP para IA. Guía técnica: configuración, APIs, nodo "MCP Server Trigger" y Apidog para pruebas.

14 April 2025

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Cómo añadir claves API personalizadas a Cursor: Una guía completa

Este tutorial te guiará para configurar y gestionar claves API personalizadas en Cursor (OpenAI, Anthropic, Google y Azure).

11 April 2025

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs