Skip to content

1.0.3

Choose a tag to compare

@GianfrancoD GianfrancoD released this 01 Aug 05:26
· 37 commits to main since this release

🌟 Release: useHttpRequest v1.0.3

📖 Descripción

El hook useHttpRequest facilita la realización de llamadas a APIs en aplicaciones React utilizando Axios. Este hook incluye validación de parámetros, manejo de respuestas, y gestión de estados de carga y error, lo que lo convierte en una herramienta esencial para desarrolladores.

🚀 Características Principales

  • Llamadas a APIs: Realiza solicitudes HTTP (GET, POST, PUT, DELETE) de manera sencilla y eficiente.
  • Validación de Parámetros: Asegura que los parámetros de entrada (endpoint, método y tipo de contenido) sean válidos antes de realizar la solicitud.
  • Gestión de Estados: Proporciona feedback claro al usuario mediante la gestión de estados de respuesta y error.
  • Configuración de Encabezados: Permite la configuración personalizada de encabezados HTTP para cada solicitud.

🔧 Mejoras en esta Versión (v1.0.3)

  • Validación de Parámetros: Se implementó una función de validación robusta para garantizar la integridad de los datos de entrada.
  • Optimización del Rendimiento: Se utilizó useCallback para optimizar la función apiCall, evitando re-renderizados innecesarios y mejorando la eficiencia.
  • Manejo de Respuestas: Se mejoró la lógica de manejo de respuestas de la API, proporcionando mensajes de error más claros y específicos.

💡 Ejemplo de Uso

Aquí tienes un ejemplo básico de cómo utilizar el hook useHttpRequest en un componente React:

import React from 'react';
import useHttpRequest from './path/to/useHttpRequest';

const MyComponent = () => {
  const { apiCall, apiResponse, userFound } = useHttpRequest();

  const fetchData = () => {
    apiCall('my-endpoint', null, null, 'get', 'application/json');
  };

  return (
    <div>
      <button onClick={fetchData}>Fetch Data</button>
      {userFound && Array.isArray(apiResponse) && apiResponse.length > 0 ? (
        <ul>
          {apiResponse.map((item) => (
            <li key={item.id}>{item.name}</li>
          ))}
        </ul>
      ) : (
        <p>Cargando...</p>
      )}
      {!userFound && <p>Error al cargar datos</p>}
    </div>
  );
};

export default MyComponent;

🤝 Contribuciones

Las contribuciones son bienvenidas. Si deseas contribuir, por favor abre un issue o un pull request en el repositorio.

📜 Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.