Terug naar blog

HTTP-client Axios gebruiken in een React-applicatie: een tutorial

HTTP-client Axios gebruiken in een React-applicatie: een tutorial

Veel web-apps worden op een bepaald moment in hun ontwikkeling geconfronteerd met de noodzaak om te communiceren met een REST API. Voor React-gebaseerde web-apps kunnen we Axios, een lichtgewicht HTTP-client gebaseerd op de $http-service binnen Angular.js v1.x. De functies zijn vergelijkbaar met de native Fetch API.

van JavaScript. Axios is gebaseerd op promises, wat ons de mogelijkheid geeft om JavaScripts async en await te integreren voor beter leesbare synchrone code. Het ondersteunt ook interceptie en het annuleren van verzoeken. Bovendien is er ingebouwde bescherming aan de clientzijde tegen cross-site request forgery.

In deze handleiding laten we zien hoe je Axios gebruikt om toegang te krijgen tot de populaire JSON Placeholder API in een demo React-applicatie. Je kunt meer leren over het JSON-formaat in JavaScript in deze tutorial.

Vereisten

Om de stappen in deze handleiding te voltooien, heb je de volgende componenten nodig:

Stap 1: Installeer Axios in het React-project

Axios is direct beschikbaar als een npm module. Bekijk Axios op npm. Het enige wat we hoeven te doen is een React-project op te zetten en het Axios-pakket te installeren.

Het volgende npx commando zal create-react-app uitvoeren om een nieuw React-project aan te maken. De projectnaam zal worden gebruikt om een specifieke map voor het project aan te maken. Hier hebben we het project react-axios-demo genoemd. Voer het commando uit:

npx create-react-app

Wijzig de huidige map naar de nieuw aangemaakte projectmap:

Roep vervolgens het npm install commando aan om Axios te installeren. Als er geen versie is gespecificeerd, zal npm automatisch de nieuwste versie van Axios downloaden en installeren:

npm install axios

Ons project is nu klaar om Axios te gebruiken! Het is tijd om de functies in de praktijk te brengen.

Stap 2: Bouw een GET-verzoek

In deze stap laten we zien hoe je een nieuwe component maakt die Axios gebruikt om een GET -verzoek te verzenden.

Maak eerst een nieuwe component PersonList die een lijst met namen zal tonen. Maak een specifieke map aan om de component in op te slaan:

mkdir -pv

Maak vervolgens het bestand PersonList.js :

Open het bestand in een tekst-editor. We gebruiken Visual Studio Code voor comfort en leesbaarheid. Voer de volgende JavaScript-code in:

 

this.state.persons

Hier:

  • We hebben React en Axios geïmporteerd, zodat we ze allebei in de component kunnen gebruiken.

  • We haken in op de componentDidMount lifecycle-hook en verzenden een GET-verzoek.

Je kunt axios.get(<url>) van een API-eindpunt gebruiken om een promise te krijgen (die een responsobject retourneert). Binnen het responsobject bevindt zich de gewenste data. Deze wijzen we vervolgens toe aan de waarde van person. We kunnen ook aanvullende informatie over het verzoek verzamelen, zoals de statuscode onder res.status of verdere informatie van res.request.

Vervolgens moeten we onze component toevoegen aan het hoofd- App.js-bestand. Voeg de volgende code toe:

 

import PersonList

De configuratie is voltooid voor deze stap. Je kunt de app nu uitvoeren en testen met je favoriete browser. Start de ontwikkelingsserver:

Axios React code screenshot 1

Zoals we kunnen zien, toont de uitvoer een lijst met namen van mensen in willekeurige volgorde:

React app

Step 3: Een POST-verzoek opbouwen

In dit gedeelte laten we zien hoe je Axios gebruikt om een andere HTTP-verzoekmethode uit te voeren, genaamd POST. Om dit te demonstreren, is ons doel om een nieuwe component aan ons React-project toe te voegen met de naam PersonAdd.

Maak het bestand PersonAdd.js:

Axios React code screenshot 2

Open vervolgens het bestand in een teksteditor en voer de volgende code in:

Axios React code screenshot 3

In deze code nemen we gebruikersinvoer en POSTen we de inhoud naar een API. Binnen de handleSubmit-functie voorkomen we de standaardactie van het formulier en updaten we de state naar de gebruikersinvoer. Bij het gebruik van POST retourneert het hetzelfde responsobject. We kunnen het object gebruiken binnen een then-aanroep. Om te voldoen aan het POST-verzoek, leggen we de gebruikersinvoer vast en voegen deze toe samen met het POST-verzoek. Dit geeft ons een respons. We loggen de respons met behulp van console.log. Dit zou de user-invoer in het formulier moeten tonen.

Voeg vervolgens de component toe aan App.js. De volledige code zou er als volgt uit moeten zien:

Axios React code screenshot 4

Nu is het tijd om de wijzigingen te testen. Start de ontwikkelingsserver:

Controleer de wijziging in de webbrowser:

Axios React code screenshot 5

Step 4: Een DELETE-verzoek opbouwen

In dit gedeelte demonstreren we het verwijderen van items uit een API met behulp van axios.delete en het gebruik van een URL als parameter. Maak ter demonstratie de component PersonRemove. Maak het bestand PersonRemove.js in de src/components-directory:

Axios React code screenshot 6

Open daarna het bestand in een teksteditor en voeg de volgende code toe:

Axios React code screenshot 7

Hier biedt het res-object de informatie over het verzoek. We kunnen vervolgens console.log gebruiken nadat het formulier is verzonden.

Implementeer vervolgens het component in App.js:

Axios React code screenshot 8

Tijd om onze code opnieuw te testen. Start the server:

Je zou een nieuw formulier moeten zien dat de naam van de gebruiker vraagt en deze uit de lijst verwijdert:

npm start

Stap 5: Basisinstantie toepassen in Axios

Nu gaan we werken met de Axios-basisinstantie. Hier kunnen we een URL en andere configuratie-elementen definiëren. Om dit te implementeren, maak je een apart bestand api.js:

Axios React code screenshot 9

Open het in een teksteditor en voer de volgende code in:

export default axios.create

Zodra dit is ingesteld, kunnen we het gebruiken in het PersonRemove-component. Dit is hoe de code eruit zou zien:

Axios React code screenshot 10

Hier is http://jsonplaceholder.typicode.com/ ingesteld als de basis-URL. Nu hoeven we niet langer de volledige URL te gebruiken telkens wanneer we een eindpunt van de API aanroepen.

Stap 6: Async en await implementeren

In dit gedeelte bekijken we hoe we async en await kunnen implementeren om met promises te werken. Het await-trefwoord lost de promise op en retourneert de waarde. We kunnen deze waarde toewijzen aan een variabele voor eenvoudiger gebruik.

Dit is hoe de bijgewerkte code van PersonRemove.js eruit zou zien:

Implement async and await

Hier hebben we .then() vervangen. Zodra promise is opgelost, slaan we de waarde op in de variabele response.

Tot slot

In deze handleiding hebben we verschillende voorbeelden bekeken van het gebruik van Axios om met een REST API te werken. De code laat zien hoe je HTTP-verzoeken maakt en antwoorden verwerkt.

Geïnteresseerd om meer te leren over JavaScript? Bekijk onze andere handleidingen voor beginners over verschillende JavaScript-concepten en -functies, bijvoorbeeld datum en tijd, stringmanipulatie, klassen, en objecten.

Veel programmeerplezier!

author

Hark Labs

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.