Natrag na blog

Korištenje HTTP klijenta Axios u React aplikaciji: Vodič

Korištenje HTTP klijenta Axios u React aplikaciji: Vodič

Mnoge web aplikacije suočavaju se s potrebom povezivanja s REST API-jem u nekom trenutku svog razvoja. Za React-temeljene web aplikacije, možemo koristiti Axios, lagani HTTP klijent baziran na $http usluzi unutar Angular.js v1.x. Značajke su slične JavaScriptovom izvornom Fetch API.

Axios se temelji na obećanjima, što nam omogućuje ugradnju JavaScriptovog async i await za čitljiviji sinkroni kod. Također podržava presretanje i otkazivanje zahtjeva. Štoviše, postoji ugrađena zaštita na strani klijenta od krivotvorenja zahtjeva na više stranica.

U ovom vodiču prikazat ćemo kako koristiti Axios za pristup popularnom JSON Placeholder API-ju u demo React aplikaciji. Možete saznati više o JSON formatu u JavaScriptu iz ovog vodiča.

Preduvjeti

Za dovršetak koraka prikazanih u ovom vodiču, trebat će vam sljedeće komponente:

Step 1: Instalirajte Axios u React projekt

Axios je izravno dostupan kao npm modul. Pogledajte Axios na npm-u. Sve što nam treba je uspostaviti React projekt i instalirati Axios paket.

Sljedeća npx naredba pokrenut će create-react-app za stvaranje novog React projekta. Naziv projekta koristit će se za stvaranje namjenskog direktorija za projekt. Ovdje smo projekt nazvali react-axios-demo. Pokrenite naredbu:

npx create-react-app

Promijenite trenutni direktorij u novostvoreni direktorij projekta:

Zatim pozovite npm install naredbu za instalaciju Axiosa. Ako verzija nije navedena, tada će npm automatski preuzeti i instalirati najnoviju verziju Axiosa:

npm install axios

Naš projekt je sada spreman za korištenje Axiosa! Vrijeme je da njegove značajke stavimo u akciju.

Step 2: Izrada GET zahtjeva

U ovom koraku prikazat ćemo stvaranje nove komponente koja koristi Axios za slanje GET zahtjeva.

Prvo stvorite novu komponentu PersonList koja će prikazati popis imena. Stvorite namjenski direktorij za pohranu komponente:

mkdir -pv

Zatim stvorite datoteku PersonList.js :

Otvorite datoteku u uređivaču teksta. Koristimo Visual Studio Code radi udobnosti i čitljivosti. Unesite sljedeći JavaScript kod:

 

this.state.persons

Ovdje:

  • Uvezli smo React i Axios kako bismo ih oboje mogli koristiti u komponenti.

  • Povezujemo se na componentDidMount životni ciklus i šaljemo GET zahtjev.

Možete koristiti axios.get(<url>) s krajnje točke API-ja kako biste dobili obećanje (vraća objekt odgovora). Unutar objekta odgovora nalaze se željeni podaci. Zatim ih dodjeljujemo vrijednosti person. Također možemo prikupiti dodatne informacije o zahtjevu, poput statusnog koda pod res.status ili dodatne informacije iz res.request.

Zatim moramo dodati našu komponentu u glavnu App.js datoteku. Dodajte sljedeći kod:

 

import PersonList

Konfiguracija je dovršena za ovaj korak. Sada možete pokrenuti aplikaciju i testirati je pomoću svog omiljenog preglednika. Pokrenite razvojni poslužitelj:

Axios React code screenshot 1

Kao što možemo vidjeti, izlaz prikazuje popis imena ljudi nasumičnim redoslijedom:

React app

Korak 3: Izrada POST zahtjeva

U ovom odjeljku prikazat ćemo korištenje Axios-a za izvođenje druge metode HTTP zahtjeva pod nazivom POST. Kako bismo to demonstrirali, naš cilj je stvoriti novu komponentu u našem React projektu pod nazivom PersonAdd.

Stvorite datoteku PersonAdd.js:

Axios React code screenshot 2

Zatim otvorite datoteku u uređivaču teksta i unesite sljedeći kod:

Axios React code screenshot 3

U ovom kodu uzimamo korisnički unos i šaljemo (POST) sadržaj na API. Unutar handleSubmit funkcije, sprječavamo zadano ponašanje obrasca i ažuriramo stanje na korisnički unos. Kada koristite POST on vraća isti objekt odgovora. Možemo koristiti taj objekt unutar then poziva. Kako bismo ispunili POST zahtjev, bilježimo korisnički unos i dodajemo ga zajedno s POST zahtjevom. To nam daje odgovor. Odgovor ispisujemo pomoću console.log. Trebao bi prikazati user unos u obrascu.

Zatim dodajte komponentu u App.js. Cijeli kod bi trebao izgledati ovako:

Axios React code screenshot 4

Sada je vrijeme za testiranje promjena. Pokrenite razvojni poslužitelj:

Provjerite promjenu u web pregledniku:

Axios React code screenshot 5

Korak 4: Izrada DELETE zahtjeva

U ovom odjeljku demonstrirat ćemo brisanje stavki iz API-ja uz pomoć axios.delete i korištenjem URL-a kao parametra. Za demonstraciju, stvorite komponentu PersonRemove. Stvorite datoteku PersonRemove.js u src/components direktoriju:

Axios React code screenshot 6

Nakon toga otvorite datoteku u uređivaču teksta i dodajte sljedeći kod:

Axios React code screenshot 7

Ovdje, res objekt nudi informacije o zahtjevu. Zatim možemo koristiti console.log nakon što se obrazac pošalje.

Zatim implementirajte komponentu u App.js:

Axios React code screenshot 8

Vrijeme je da ponovno testiramo naš kod. Pokrenite poslužitelj:

Trebali biste pronaći novi obrazac koji prima korisnikovo ime i uklanja ga s popisa:

npm start

Korak 5: Primijenite osnovnu instancu u Axiosu

Sada ćemo raditi s Axios osnovnom instancom. Ovdje možemo definirati URL i druge konfiguracijske elemente. Da biste to implementirali, stvorite zasebnu datoteku api.js:

Axios React code screenshot 9

Otvorite je u uređivaču teksta i unesite sljedeći kod:

export default axios.create

Nakon što je postavljeno, možemo ga koristiti unutar PersonRemove komponente. Evo kako bi kod izgledao:

Axios React code screenshot 10

Ovdje je http://jsonplaceholder.typicode.com/ postavljen kao osnovni URL. Sada više ne moramo koristiti puni URL svaki put kada pristupamo krajnjoj točki API-ja.

Korak 6: Implementirajte async i await

U ovom odjeljku pogledat ćemo kako implementirati async i await za rad s obećanjima. Ključna riječ await razrješava promise i vraća vrijednost. Možemo dodijeliti ovu vrijednost varijabli radi lakšeg korištenja.

Evo kako bi ažurirani kod za PersonRemove.js izgledao:

Implement async and await

Ovdje smo zamijenili .then(). Nakon što se promise razriješi, spremamo vrijednost u varijablu response.

Završne misli

U ovom smo vodiču istražili različite primjere korištenja Axiosa za rad s REST API-jem. Kodovi prikazuju stvaranje HTTP zahtjeva i rukovanje odgovorima.

Zanima vas učenje o JavaScriptu? Pogledajte naše ostale vodiče za početnike o različitim konceptima i značajkama JavaScripta, na primjer, datum i vrijeme, manipulacija stringovima, klase, i objekti.

Sretno kodiranje!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.