Torna al blog

Utilizzo del client HTTP Axios in un'applicazione React: un tutorial

Utilizzo del client HTTP Axios in un'applicazione React: un tutorial

Molte web app si trovano ad affrontare la necessità di interfacciarsi con un'API REST a un certo punto del loro sviluppo. Per le web app basate su React, possiamo usare Axios, un client HTTP leggero basato sul servizio $http all'interno di Angular.js v1.x. Le funzionalità sono simili alla nativa Fetch API.

di JavaScript. Axios è basato su promise, offrendoci la possibilità di incorporare async e await per un codice sincrono più leggibile. Supporta anche l'intercettazione e l'annullamento delle richieste. Inoltre, è presente una protezione integrata lato client contro il cross-site request forgery.

In questa guida, mostreremo come utilizzare Axios per accedere alla popolare JSON Placeholder API in un'applicazione React dimostrativa. Puoi saperne di più su il formato JSON in JavaScript da questo tutorial.

Prerequisiti

Per completare i passaggi illustrati in questa guida, avrai bisogno dei seguenti componenti:

Passo 1: Installare Axios nel progetto React

Axios è direttamente disponibile come modulo npm. Dai un'occhiata a Axios su npm. Tutto ciò di cui abbiamo bisogno è creare un progetto React e installare il pacchetto Axios.

Il seguente comando npx eseguirà create-react-app per creare un nuovo progetto React. Il nome del progetto verrà utilizzato per creare una directory dedicata per il progetto. Qui abbiamo chiamato il progetto react-axios-demo. Esegui il comando:

npx create-react-app

Cambia la directory corrente nella directory del progetto appena creato:

Successivamente, invoca il comando npm install per installare Axios. Se non viene specificata alcuna versione, npm scaricherà e installerà automaticamente l'ultima versione di Axios:

npm install axios

Il nostro progetto è ora pronto per usare Axios! È tempo di mettere in azione le sue funzionalità.

Passo 2: Costruire una richiesta GET

In questo passaggio, mostreremo la creazione di un nuovo componente che utilizza Axios per inviare una richiesta GET.

Innanzitutto, crea un nuovo componente PersonList che mostrerà un elenco di nomi. Crea una directory dedicata per memorizzare il componente:

mkdir -pv

Successivamente, crea il file PersonList.js :

Apri il file in un editor di testo. Stiamo usando Visual Studio Code per comodità e leggibilità. Inserisci il seguente codice JavaScript:

 

this.state.persons

Qui:

  • Abbiamo importato React e Axios in modo da poterli utilizzare entrambi nel componente.

  • Ci colleghiamo all'hook del ciclo di vita componentDidMount e inviamo una richiesta GET.

Puoi usare axios.get(<url>) da un endpoint API per ottenere una promise (restituisce un oggetto di risposta). All'interno dell'oggetto di risposta, sono contenuti i dati desiderati. Quindi li assegniamo al valore di person. Possiamo anche raccogliere informazioni aggiuntive sulla richiesta, come il codice di stato sotto res.status o ulteriori informazioni da res.request.

Successivamente, dobbiamo aggiungere il nostro componente al file principale App.js . Aggiungi il seguente codice:

 

import PersonList

La configurazione per questo passaggio è completata. Ora puoi avviare l'app e testarla usando il tuo browser preferito. Avvia il server di sviluppo:

Axios React code screenshot 1

Come possiamo vedere, l'output mostra un elenco di nomi di persone in ordine casuale:

React app

Passo 3: Costruire una richiesta POST

In questa sezione, mostreremo come utilizzare Axios per eseguire un altro metodo di richiesta HTTP chiamato POST. Per dimostrarlo, il nostro obiettivo è creare un nuovo componente nel nostro progetto React chiamato PersonAdd.

Crea il file PersonAdd.js:

Axios React code screenshot 2

Quindi, apri il file in un editor di testo e inserisci il seguente codice:

Axios React code screenshot 3

In questo codice, prendiamo l'input dell'utente e inviamo il contenuto tramite POST a un'API. All'interno della funzione handleSubmit, stiamo impedendo l'azione predefinita del form e aggiornando lo stato con l'input dell'utente. Quando si usa POST viene restituito lo stesso oggetto di risposta. Possiamo usare l'oggetto all'interno di una chiamata then. Per soddisfare la richiesta POST, stiamo catturando l'input dell'utente e lo stiamo aggiungendo insieme alla richiesta POST. Questo ci fornisce una risposta. Registriamo la risposta usando console.log. Dovrebbe mostrare l'input dell' utente nel modulo.

Successivamente, aggiungi il componente a App.js. Il codice completo dovrebbe apparire così:

Axios React code screenshot 4

Ora è il momento di testare le modifiche. Avvia il server di sviluppo:

Verifica la modifica sul browser web:

Axios React code screenshot 5

Passo 4: Costruire una richiesta DELETE

In questa sezione, mostreremo come eliminare elementi da un'API con l'aiuto di axios.delete e utilizzando un URL come parametro. Per dimostrarlo, crea il componente PersonRemove. Crea il file PersonRemove.js nella directory src/components:

Axios React code screenshot 6

Dopodiché, apri il file in un editor di testo e aggiungi il seguente codice:

Axios React code screenshot 7

Qui, l'oggetto res offre le informazioni sulla richiesta. Possiamo quindi utilizzare console.log dopo l'invio del modulo.

Successivamente, implementa il componente in App.js:

Axios React code screenshot 8

È ora di testare nuovamente il nostro codice. Avvia il server:

Dovresti trovare un nuovo modulo che accetta il nome dell’utente e lo rimuove dall’elenco:

npm start

Passo 5: Applicare l'istanza di base in Axios

Ora lavoreremo con l'istanza di base di Axios. Qui possiamo definire un URL e altri elementi di configurazione. Per implementarla, crea un file separato api.js:

Axios React code screenshot 9

Aprilo in un editor di testo e inserisci il seguente codice:

export default axios.create

Una volta impostato, possiamo usarlo all'interno del componente PersonRemove . Ecco come apparirà il codice:

Axios React code screenshot 10

Qui, http://jsonplaceholder.typicode.com/ è impostato come URL di base. Ora non abbiamo più bisogno di usare l'URL completo ogni volta che raggiungiamo un endpoint dell'API.

Passo 6: Implementare async e await

In questa sezione vedremo come implementare async e await per lavorare con le promise. La parola chiave await risolve la promise e restituisce il valore. Possiamo assegnare questo valore a una variabile per un utilizzo più comodo.

Ecco come apparirà il codice aggiornato di PersonRemove.js :

Implement async and await

Qui abbiamo sostituito .then(). Una volta che promise viene risolta, memorizziamo il valore nella variabile response.

Considerazioni finali

In questo tutorial, abbiamo esplorato vari esempi di utilizzo di Axios per lavorare con le API REST. I codici mostrano la creazione di richieste HTTP e la gestione delle risposte.

Vuoi saperne di più su JavaScript? Dai un'occhiata alle nostre altre guide per principianti su vari concetti e funzionalità di JavaScript, ad esempio, data e ora, manipolazione delle stringhe, classi, e oggetti.

Buona programmazione!

author

Hark Labs

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.