Repository navigation
1.0.3
🌟 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ó
useCallbackpara optimizar la funciónapiCall, 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.