Volver al blog

Uso del cliente HTTP Axios en una aplicación React: un tutorial

Uso del cliente HTTP Axios en una aplicación React: un tutorial

Muchas aplicaciones web se enfrentan a la necesidad de interactuar con una API REST en algún momento de su desarrollo. Para React aplicaciones web basadas en, podemos usar Axios, un cliente HTTP ligero basado en el $http servicio dentro de Angular.js v1.x. Las características son similares a la nativa de JavaScript Fetch API.

Axios está basado en promesas, lo que nos permite incorporar async y await de JavaScript para un código síncrono más legible. También admite la interceptación y la cancelación de solicitudes. Además, cuenta con protección integrada en el lado del cliente contra la falsificación de solicitudes entre sitios.

En esta guía, mostraremos cómo usar Axios para acceder a la popular JSON Placeholder API en una aplicación React de demostración. Puede obtener más información sobre el formato JSON en JavaScript en este tutorial.

Requisitos previos

Para completar los pasos demostrados en esta guía, necesitará los siguientes componentes:

Paso 1: Instalar Axios en el proyecto React

Axios está disponible directamente como un módulo npm. Consulte Axios en npm. Todo lo que necesitamos es establecer un proyecto React e instalar el paquete Axios.

El siguiente comando npx ejecutará create-react-app para crear un nuevo proyecto React. El nombre del proyecto se utilizará para crear un directorio dedicado para el proyecto. Aquí, llamamos al proyecto react-axios-demo. Ejecute el comando:

npx create-react-app

Cambie el directorio actual al directorio del proyecto recién creado:

A continuación, invoque el comando npm install para instalar Axios. Si no se especifica ninguna versión, entonces npm descargará e instalará automáticamente la última versión de Axios:

npm install axios

¡Nuestro proyecto ya está listo para usar Axios! Es hora de poner en acción sus características.

Paso 2: Construir una solicitud GET

En este paso, mostraremos la creación de un nuevo componente que utiliza Axios para enviar una solicitud GET.

Primero, cree un nuevo componente PersonList que mostrará una lista de nombres. Cree un directorio dedicado para almacenar el componente:

mkdir -pv

A continuación, cree el archivo PersonList.js :

Abra el archivo en un editor de texto. Estamos usando Visual Studio Code por comodidad y legibilidad. Introduzca el siguiente código JavaScript:

 

this.state.persons

Aquí:

  • Hemos importado React y Axios para poder usarlos a ambos en el componente.

  • Nos conectamos al gancho de ciclo de vida componentDidMount y enviamos una solicitud GET.

Puede usar axios.get(<url>) desde un punto final de la API para obtener una promesa (devuelve un objeto de respuesta). Dentro del objeto de respuesta, contiene los datos deseados. Luego lo asignamos al valor de person. También podemos recopilar información adicional sobre la solicitud, como el código de estado en res.status o más información de res.request.

A continuación, debemos agregar nuestro componente al archivo principal App.js. Agregue los siguientes códigos:

 

import PersonList

La configuración está completa para este paso. Ahora puede ejecutar la aplicación y probarla usando su navegador favorito. Inicie el servidor de desarrollo:

Axios React code screenshot 1

Como podemos ver, el resultado muestra una lista de nombres de personas en orden aleatorio:

React app

Paso 3: Construir una solicitud POST

En esta sección, mostraremos el uso de Axios para realizar otro método de solicitud HTTP llamado POST. Para demostrar esto, nuestro objetivo es crear un nuevo componente en nuestro proyecto React llamado PersonAdd.

Cree el archivo PersonAdd.js:

Axios React code screenshot 2

Luego, abra el archivo en un editor de texto e ingrese el siguiente código:

Axios React code screenshot 3

En este código, tomamos la entrada del usuario y enviamos el contenido mediante POST a una API. Dentro de la función handleSubmit, evitamos la acción predeterminada del formulario y actualizamos el estado con la entrada del usuario. Al usar POST, este devuelve el mismo objeto de respuesta. Podemos usar el objeto dentro de una llamada then. Para completar la solicitud POST, capturamos la entrada del usuario y la agregamos junto con la solicitud POST. Esto nos da una respuesta. Registramos la respuesta usando console.log. Debería mostrar la entrada del usuario en el formulario.

A continuación, agregue el componente a App.js. El código completo debería verse así:

Axios React code screenshot 4

Ahora, es momento de probar los cambios. Inicie el servidor de desarrollo:

Verifique el cambio en el navegador web:

Axios React code screenshot 5

Paso 4: Construir una solicitud DELETE

En esta sección, demostraremos cómo eliminar elementos de una API con la ayuda de axios.delete y usando una URL como parámetro. Para demostrarlo, cree el componente PersonRemove. Cree el archivo PersonRemove.js en el directorio src/components :

Axios React code screenshot 6

Después de eso, abra el archivo en un editor de texto y agregue el siguiente código:

Axios React code screenshot 7

Aquí, el res objeto ofrece la información sobre la solicitud. Luego podemos usar console.log después de enviar el formulario.

A continuación, implemente el componente en App.js:

Axios React code screenshot 8

Es hora de probar nuestro código de nuevo. Inicie el servidor:

Debería encontrar un nuevo formulario que toma el nombre del usuario y lo elimina de la lista:

npm start

Paso 5: Aplicar la instancia base en Axios

Ahora, trabajaremos con la instancia base de Axios. Aquí, podemos definir una URL y otros elementos de configuración. Para implementarlo, cree un archivo separado api.js:

Axios React code screenshot 9

Ábralo en un editor de texto e ingrese el siguiente código:

export default axios.create

Una vez configurado, podemos usarlo dentro del PersonRemove componente. Así es como se vería el código:

Axios React code screenshot 10

Aquí, http://jsonplaceholder.typicode.com/ se establece como la URL base. Ahora, ya no necesitamos usar la URL completa cada vez que accedemos a un endpoint de la API.

Paso 6: Implementar async y await

En esta sección, veremos cómo implementar async y await para trabajar con promesas. La palabra clave await resuelve la promise y devuelve el value. Podemos asignar este value a una variable para un uso más cómodo.

Así es como se vería el código actualizado de PersonRemove.js :

Implement async and await

Aquí, hemos reemplazado .then(). Una vez que la promesa se resuelve, almacenamos el valor en la variable response.

Consideraciones finales

En este tutorial, hemos explorado varios ejemplos del uso de Axios para trabajar con la API REST. El código muestra la creación de solicitudes HTTP y el manejo de respuestas.

¿Te interesa aprender más sobre JavaScript? Echa un vistazo a nuestras otras guías para principiantes sobre diversos conceptos y características de JavaScript, por ejemplo, fecha y hora, manipulación de cadenas, clases, y objetos.

¡Feliz programación!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.