So verwenden Sie Axios, um Netzwerkanforderungen in React Native zu stellen

So verwenden Sie Axios, um Netzwerkanforderungen in React Native zu stellen

In der Front-End-Entwicklung gibt es viele Möglichkeiten, Datenanforderungen abzuschließen, z. B. Ajax, jQuery Ajax, Axios und Fetch. Mit der Entwicklung der Technologie sind jedoch im Wesentlichen zwei Methoden verfügbar: Axios und Fetch.

Axios ist eine Promise-basierte HTTP-Netzwerkbibliothek, die auf der Browserseite und auf Node.js ausgeführt werden kann. Netzwerkanforderungen von Vue-Anwendungen werden grundsätzlich damit abgeschlossen. Axios verfügt über viele hervorragende Funktionen, wie etwa die Unterstützung für das Abfangen und Beantworten von Anfragen, die Stornierung von Anfragen, die automatische JSON-Konvertierung, clientseitigen Schutz gegen XSRF usw.

Bevor Sie Axios verwenden, müssen Sie das Axios-Plug-In im Projekt installieren. Der Installationsbefehl lautet wie folgt.

//npm 
npm installiere axios --save
//Garn
Garn hinzufügen reagieren-native-axios 

Als hervorragende Netzwerkanforderungsbibliothek unterstützt axios grundlegende Anforderungen wie GET, POST, DELET und PUT. Wenn Sie beispielsweise axios verwenden, um eine GET-Anfrage zu stellen, können Sie die Methode axios.get() und axios(config { ... }) verwenden, wie unten gezeigt.

axios.get('/getData', {
    Parameter: { 
      ID: 123
    }
  }).dann(Funktion (Antwort) {
    console.log(Antwort);
  })

axios({
  Methode: 'GET',
  URL: „/getData“,
  Parameter: {
    ID: 123,
  }
}).dann(Funktion (Antwort) {
    console.log(Antwort);
}); 

Es ist ersichtlich, dass bei direkter Verwendung von Axios für Netzwerkanforderungen viel redundanter Code generiert wird. Daher ist im eigentlichen Entwicklungsprozess auch eine gewisse Kapselung von Axios-Anforderungen erforderlich, um die spätere Verwendung zu erleichtern, wie unten gezeigt.

Es ist ersichtlich, dass bei direkter Verwendung von Axios für Netzwerkanforderungen viel redundanter Code generiert wird. Daher ist im eigentlichen Entwicklungsprozess auch eine gewisse Kapselung von Axios-Anforderungen erforderlich, um die spätere Verwendung zu erleichtern, wie unten gezeigt.

const Anfrage = axios.erstellen({
  transformAntwort: [
    Funktion (Daten) {
      Daten zurückgeben;
    },
  ],
});

const defaultOptions = { //Standardkonfigurations-URL wird verarbeitet: '',
  userAgent: 'BIZSTREAM-Bibliothek',
  Authentifizierung:
    Integration:
      Zugriffstoken: nicht definiert,
    },
  },
};

Klasse Bizstream {
  init(Optionen) {
    diese.Konfiguration = {...Standardoptionen, ...Optionen};
    diese.base_url = diese.configuration.url;
    dieser.root_path = '';
  }

  post(Pfad, Parameter, Daten, Typ = ADMIN_TYPE) {
    returniere this.send(Pfad, 'POST', Parameter, Daten, Typ);
  }

  get(Pfad, Parameter, Daten, Typ = ADMIN_TYPE) {
    returniere this.send(Pfad, 'GET', Parameter, Daten, Typ);
  }

  send(Pfad, Methode, Parameter, Daten, Typ, HeaderOption) {
    const url = `${this.base_url}${this.root_path}${Pfad}`;
    const-Header = {
      'Benutzer-Agent': diese.Konfiguration.BenutzerAgent,
      'Inhaltstyp': 'application/json',
      ...HeaderOption,
    };

    returniere neues Promise((lösen, ablehnen) => {
      Anfrage({URL, Methode, Header, Parameter, Daten}).dann(Antwort => {
        .... //Das zurückgegebene Ergebnis verarbeiten});
    });
  }
}

exportiere const bizStream = neuer Bizstream();

Nach der Kapselung ist es viel bequemer, Netzwerkanforderungen zu stellen, und wir verarbeiten auch einige allgemeine Rückgabeergebnisse auf der Netzwerkebene. Bei der tatsächlichen Verwendung müssen Entwickler nur die erforderlichen Parameter nach Bedarf übergeben und dann die zurückgegebenen Ergebnisse über die asynchrone Funktion verarbeiten, wie unten gezeigt.

//GET-Anfrage const hotMovie='';
const data = warte auf apiRequest.get(hotMovie);
//POST-Anfrage let baseUrl = '';
let param = {
   Seitennummer: 0,
   StadtCd: 31,
 };
const data = warte auf apiRequest.post(baseUrl, param);

Dies ist das Ende dieses Artikels über die Verwendung von Axios zum Stellen von Netzwerkanforderungen in React Native. Weitere Informationen zu Netzwerkanforderungen von React Native finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Axios-Kapselung und des API-Schnittstellenmanagements im React-Projekt
  • Kennen Sie das Axios-Modul in React?
  • Axios-Modul in React und wie man es verwendet
  • React Axios - domänenübergreifender Zugriff auf einen oder mehrere Domänennamen
  • React verwendet Axios, um API-Netzwerkanforderungen zu kapseln

<<:  So führen Sie mehrere MySQL-Instanzen unter Windows aus

>>:  So implementieren Sie die automatische Ansible-Installation und -Konfiguration von httpd im Linux-System

Artikel empfehlen

MySQL 5.6.24 (binär) automatisches Installationsskript unter Linux

In diesem Artikel wird der Skriptcode für die aut...

MySQL Infobright-Installationsschritte

Inhaltsverzeichnis 1. Verwenden Sie den Befehl „r...

Vue3 manuelle Kapselung Popup-Box-Komponente Nachrichtenmethode

In diesem Artikel wird der spezifische Code der m...

So finden Sie Websites mit SQL-Injection (unbedingt lesen)

Methode 1: Verwenden Sie die erweiterte Suche von...

Erste Schritte Tutorial für Anfänger ④: So binden Sie Unterverzeichnisse

Um zu verstehen, was das bedeutet, müssen wir zunä...

MySQL: Praktische Erfahrung mit der Verwendung der Insert-Anweisung

Inhaltsverzeichnis 1. Mehrere Syntaxen von Insert...

Lösung für MySQL 8.0 kann nicht gestartet werden 3534

Der MySQL 8.0-Dienst kann nicht gestartet werden ...

JavaScript Canvas realisiert den Effekt des Neun-Quadrat-Rasterschneidens

In diesem Artikel wird der spezifische Code der L...

Detaillierte Schritte zum Einrichten des Hosts Nginx + Docker WordPress Mysql

Umfeld Linux 3.10.0-693.el7.x86_64 Docker-Version...

So ändern Sie die Längenbeschränkung von group_concat in MySQL

In MySQL gibt es eine Funktion namens „group_conc...

Farbverlaufseffekt im HTML-Hintergrund durch CSS-Stil erreicht

Screenshots der Effekte: Implementierungscode: Cod...