API-Integration in React mit Axios beherrschen | Anwendung mit Backend integrieren | Faisal Memon | Skillshare
Suchen

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

API-Integration in React mit Axios beherrschen | Anwendung mit Backend integrieren

teacher avatar Faisal Memon, Product | Engineer | Entrepreneur

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung in den Kurs

      2:48

    • 2.

      React-Projekt einrichten

      8:27

    • 3.

      Einrichten unserer IDE – Visual Studio-Code

      1:46

    • 4.

      Erste Schritte

      8:24

    • 5.

      Nahtlose APIs in React integrieren

      16:01

    • 6.

      Lastzustände und Fehlerbehandlung effizient verwalten

      12:02

    • 7.

      API-Aufrufe in React mit Axios vereinfachen

      8:48

    • 8.

      Gleichzeitige Ausführung mehrerer GET-Anfragen

      5:00

    • 9.

      Daten mit POST-Anforderungen in Axios senden

      7:50

    • 10.

      API-Sicherheit mit Axios Interceptors optimieren

      6:07

    • 11.

      Benutzerdefinierte Axios-Instanzen für eine bessere Kontrolle erstellen

      9:05

    • 12.

      Benutzerdefinierte Axios-Instanzen mit Interceptors aufwerten

      9:23

    • 13.

      Schlussbemerkung zum Kurs

      1:41

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

36

Teilnehmer:innen

--

Projekt

Über diesen Kurs

Entfessle das volle Potenzial von React, indem du die API-Integration mit Axios in diesem praktischen Kurs „API-Integration in React mit Axios“ beherrschst. Egal, ob du dynamische Webanwendungen entwickelst oder bestehende Projekte verbesserst, dieser Kurs vermittelt dir die grundlegenden Fähigkeiten, um Daten effektiv in React abzurufen und zu verwalten.

In diesem Kurs lernst du:

  • Mit APIs in React arbeiten: Lerne, wie du APIs nahtlos integrierst, um Daten dynamisch in deinen React-Anwendungen abzurufen und anzuzeigen.
  • Umgang mit Ladezuständen und Fehlern: Verstehe, wie du die Benutzererfahrung verbessern kannst, indem du Ladeindikatoren und Fehler bearbeitest.
  • API-Aufrufe mit Axios: Tauche ein in Axios, einen beliebten versprechenbasierten HTTP-Client, um deine API-Anfragen zu vereinfachen.
  • Mehrere Anforderungen gleichzeitig ausführen: Lerne, wie du mehrere API-Anforderungen effizient bearbeitest, um die Anwendungsleistung zu steigern.
  • POST-Requests senden: Verstehe, wie man Daten an Server sendet und Backend-Systeme mit POST-Requests aktualisiert.
  • Interceptors in Axios: Einblicke in das Abfangen von Anfragen und Antworten, um benutzerdefinierte Logik wie Authentifizierung oder Protokollierung hinzuzufügen.
  • Benutzerdefinierte Axios-Instanzen erstellen: Passe deine Axios-Instanz an, um API-Interaktionen in deinen Anwendungen zu optimieren.

Am Ende dieses Kurses wirst du das Selbstvertrauen haben, APIs in deinen React-Projekten zu integrieren und zu verwalten, wodurch deine Anwendungen interaktiver und benutzerfreundlicher werden.

Für wen ist dieser Kurs gedacht?

  • React-Entwickler, die ihre API-Integrationsfähigkeiten verbessern möchten
  • Webentwickler, die dynamische, datengesteuerte Anwendungen erstellen möchten.
  • Alle, die ihr Front-End-Entwicklungs-Toolkit mit praktischen API-Handling-Techniken verbessern möchten.

Begib dich auf diese Reise und verbessere deine React-Entwicklungsfähigkeiten mit effizienter API-Integration. Es kann losgehen!

Triff deine:n Kursleiter:in

Teacher Profile Image

Faisal Memon

Product | Engineer | Entrepreneur

Kursleiter:in

Hey - this is Faisal and thanks for being here.

I have over 12 years of experience working as a Product Manager Founder/CEO Engineer in Mobile and App development industry. I have been building global products being used by millions of users across the globe since the beginning of my career.

Currently I am heading Product at one of the fast-paced startup in India and enjoying every moment of it. Prior to his, I built out couple of startups which had over half a million users across the globe, raised funding from Google other investors and was part of Google Launchpad Accelerator. I have experience of building products from scratch and scaling to global users.

I am here on Skillshare to share my knowledge with seekers and help them grow personally and professional... Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung in den Kurs: Willkommen zu den Kursen, in denen wir die API-Integration in React beherrschen werden. Mein Name ist Fassel und ich freue mich, Sie durch die spannende Welt der API-Integration in die Welt von React führen die spannende Welt der API-Integration in die Welt von React Ich bin ein Unternehmer mit einer Leidenschaft für den Online-Unterricht In meiner Karriere habe ich viele robuste Anwendungen entwickelt, . In meiner Karriere habe ich viele robuste Anwendungen entwickelt, die von Millionen von Benutzern auf der ganzen Welt verwendet wurden, und ich bin hier, um meine Erfahrung und mein Wissen mit Ihnen allen zu teilen meine Erfahrung und mein Wissen mit Ihnen allen In der heutigen dynamischen Welt ist die API-Integration einer der wichtigsten Aspekte, ist die API-Integration einer der wenn es darum geht, skalierbare Anwendungen für die Produktion zu entwickeln. Jede Webanwendung , die Sie sehen , hat ein Frontend und ein Backend Wenn Sie ein Frontend erstellen, ist es wichtig, dass Sie verstehen, wie Sie Ihre Anwendung integrieren und mit dem Backend-Server kommunizieren können Ihre Anwendung integrieren und mit dem Backend-Server kommunizieren Während unserer Reise werden wir uns eingehend API-Integration mit React Wir werden dafür Axis verwenden. Apropos Kurs Dieser Kurs behandelt viele Aspekte der API-Integration und der Durchführung von API-Aufrufen. Wenn Sie beispielsweise einen API-Aufruf tätigen, ist es wahrscheinlich, dass Sie nicht sofort eine Antwort erhalten. Wie können Sie also das Laden verwalten, um die Benutzererfahrung zu verbessern und wie können Sie Fehlerzustände verwalten? Wir werden auch den Prozess der API-Aufrufe vereinfachen und werden sehen, wie dies mit Axis durchgeführt und erreicht werden kann. Wir werden auch verstehen, wie Sie mit Axis gleichzeitige EPI-Aufrufe tätigen können gleichzeitige EPI-Aufrufe tätigen Wir haben auch ein Szenario, in dem wir verschiedene Arten von EPI-Anfragen wie Abrufen und Post-Anfragen behandeln werden verschiedene Arten von EPI-Anfragen wie Abrufen und Post-Anfragen . Wir werden die Sicherheit erhöhen, indem wir Interceptor verwenden All diese Funktionen all diese Dinge werden wir in diesem speziellen Kurs behandeln Und am Ende dieses Kurses kann ich garantieren, dass Sie über Fähigkeiten verfügen, mit denen Sie jede Art von EPI ohne Hilfe sicher in Ihre React-Anwendung integrieren können jede Art von EPI ohne Hilfe sicher in Ihre React-Anwendung integrieren ohne Hilfe sicher in Ihre React-Anwendung Und das würde Ihnen endlose Möglichkeiten in der Welt der Webentwicklung eröffnen Ihnen endlose Möglichkeiten in der Welt der . Für wen ist dieser Kurs gedacht? Dieser Kurs ist also perfekt für alle , die ihre Fähigkeiten zur Reaktionsentwicklung verbessern möchten Egal, ob Sie ein Neuling, ein erfahrener Entwickler oder ein fortgeschrittener Entwickler sind ein erfahrener Entwickler oder oder ob Sie jemand sind gerade erst erforscht, wie EPIs in Frontend-Anwendungen integriert werden können, dann ist in Frontend-Anwendungen integriert werden können, dieser Kurs perfekt für Sind Sie mit diesem Set also bereit, die Art und Weise, wie Sie mit APIs umgehen, in Ihre Webanwendung umzuwandeln APIs umgehen, in Ihre Webanwendung , die mit React erstellt wurde? Ich freue mich riesig, Sie durch diesen Kurs zu führen, und wir sehen uns auf der anderen Seite. 2. React-Projekt einrichten: Hallo, da. Jetzt ist es an der Zeit, dass wir mit der Erstellung unserer React-Anwendung beginnen, und das werden wir mit Hilfe der Befehlszeile tun . Also als Erstes gehe ich zum Projektordner oder navigiere über die Befehlszeile zum Projektordner. Was ich mit Projektordner meine, ist es ein Ordner meiner Wahl ist, in dem ich meine React-Projekte organisieren möchte, okay? Was Sie also tun können, ist, zum Finder zu gehen. Wenn Sie beispielsweise auf einem Mac sind, können Sie zum Finder oder wenn Sie wie ich Windows verwenden, können Sie zum Explorer gehen und einen Ordner an einem Ort Ihrer Wahl erstellen Sie können den Ordner nennen, wie auch immer Sie möchten. Ich würde es React nennen. Und dann können Sie von der Befehlszeile aus einfach zu dem Ort navigieren, können Sie von der Befehlszeile aus einfach zu dem Ort navigieren an dem Sie den Ordner erstellt haben. Also habe ich diesen React-Ordner hier an diesem bestimmten Ort erstellt , und CD ist der Befehl, das heißt Verzeichnis ändern, und er hilft mir, zu diesem bestimmten Ordner zu navigieren oder zu diesem bestimmten Ordner oder von der Befehlszeile aus in diesem Ordner zu sein. Jetzt bin ich in diesem speziellen Ordner, ich werde alles andere löschen. Ordnung. Jetzt werde ich in diesem speziellen Ordner mit der Erstellung meiner React-Anwendung beginnen. Und dafür werde ich NPX verwenden, okay? Ups. Ich habe also schon einige React-Anwendungen erstellt Sie können diesen Vorschlag also hier sehen, okay, aber ich kann nichts gegen den Vorschlag tun. Okay? Ignoriere diesen Vorschlag vorerst, denn was dieses spezielle Terminal tut , ist alles, was es in deiner Historie sieht, es schlägt dich einfach immer wieder vor, was gut ist. Ihnen den gesamten Befehl zu zeigen, das ist völlig in Ordnung. Also NPX Ich werde NPX verwenden. Okay? Nun, NPX ist syntaktisch, es wird verwendet, um die Node-Pakete auszuführen, oder es wird verwendet, um die Pakete auszuführen Und dann werden wir die Create React App verwenden. Ordnung. Was ist nun Create React App. Create React App ist eine Art Tool , mit dem Sie die gesamte React-Anwendung erstellen können. Nun, warum machen wir uns das zunutze? Weil, weißt du, das React-Projekt auf eine bestimmte Art organisiert werden muss. Es muss zum Beispiel den SRC-Ordner haben. Es muss einige Dateien haben. Und all das kommt zusammen und sie ermöglichen es Ihnen oder sie ermöglichen Ihrer Anwendung, reibungslos zu funktionieren , oder? Sie können diese Dateien also auch manuell erstellen. Dies ist jedoch ein Tool , mit dem Sie die Anwendungsstruktur auf die richtige Weise erstellen oder einrichten können. Okay? Und danach nenne ich einfach meinen Anwendungsnamen, damit ich sie MyRact App nennen kann, ungefähr so Okay. Und was ich tun kann, ist einfach Enter zu drücken. Sobald ich die Eingabetaste drücke, wird dadurch ein Ordner an diesem bestimmten Ort erstellt. An diesem bestimmten Ort wird also dieser Ordner erstellt. Warum wird an diesem Ort ein Ordner erstellt? Weil ich vom Terminal aus zu diesem Ordner navigiert habe und dies der Ordnername sein wird, unter dem alle Dateien meines React-Projekts existieren werden Okay? Sie können also die Eingabetaste drücken und Sie sollten sehen, dass irgendeine Art von Verarbeitung stattfindet. Sie können also sehen, wie an diesem bestimmten Ort eine neue React-App erstellt wird. Es werden einige Pakete installiert, und das kann ein paar Minuten dauern. Es wird also installiert. sagt dir auch, was es installiert. Es installiert React, React Dom, React-Skripte und alles, was es braucht. Wir werden also eine Weile warten, bis gesamte Vorgang abgeschlossen ist und wir eine Bestätigung sehen. Ich habe also die Bestätigung erhalten, und ich habe auch eine kleine Nachricht erhalten. Okay. Als ich mit der Aufnahme dieses Videos anfing, gab es eine neue Nebenversion, steht, dass NPM verfügbar ist, und sie fragt mich, ob ich ein Upgrade durchführen kann Okay, ich werde später upgraden. Du wirst das vielleicht nicht sehen, okay, aber ich werde es vorerst einfach ignorieren. Es ist nur eine Upgrade-Benachrichtigung. Sie können die Bestätigung hier sehen , viel Spaß beim Hacken. Ordnung. Und wenn du hier nach oben scrollst, siehst du den gesamten Prozess dessen, was passiert ist Also haben wir diesen Befehl hier ausgeführt. Ups Lass mich nach oben scrollen. Also haben wir diesen Befehl hier ausgeführt. Okay, wenn du herkommst, kannst du sehen, dass es so viele Pakete hinzugefügt hat. Es hat 36 Sekunden gedauert. Wenn Sie hierher kommen, okay, es heißt, dass diese spezielle Anwendung erfolgreich an diesem Ort und in diesem Verzeichnis erstellt wurde diese spezielle Anwendung erfolgreich an . Sie müssen also zu diesem Verzeichnis navigieren, und darin können Sie all diese Befehle hier ausführen . Okay? Sobald Sie navigieren und Ihnen vorgefertigte Befehle wie NPN Start gegeben haben, wird es auf dem Entwicklungsserver gestartet Die von Ihnen erstellte React-Anwendung verfügt also über einen eingebetteten Inblt-Server Sie können diesen Befehl ausführen, um die Anwendung zu bündeln und in statische Dateien zu speichern, hauptsächlich für die Produktionsbereitstellung. Dadurch wird der Test-Runner gestartet, falls Sie Testfälle ausführen möchten , NPM run Okay, das ist etwas, das Sie ausführen können. Der Vorschlag ist also, Sie damit beginnen können dies hier auszuführen. Ich kopiere das. Okay? Ich füge es hier ein. Ich gehe in dieses Verzeichnis, o, und dann sagt es dir NPM Start Nun, das ist ein Befehl, mit dem Sie einen Entwicklungsserver auf Ihrem lokalen Computer starten können einen Entwicklungsserver auf Ihrem lokalen Computer starten Also kann ich diesen Befehl auch ausführen, okay? Und Sie konnten sehen, wie die Anwendung lief. Das ist also die Anwendung, okay? Sie können sehen, dass der Browser automatisch geöffnet wird, und Sie können sehen, dass dies und Sie können sehen, dass dies die Anwendung ist, die läuft. Nun, das ist ein Server , der Ihnen Ihre Inhalte anzeigt oder ob er Ihre React-Anwendung im Browser ausführt. Jetzt werden Sie bei jeder Änderung, die Sie an den Dateien vornehmen, Live-Reloads hier sehen. Alles klar? Nun können Sie die Nachricht hier sehen, als ob Sie diese bestimmte Datei bearbeiten und speichern müssen , um sie erneut zu laden Okay? Also, diese Schnittstelle kommt aus dieser speziellen Datei, so steht es da. Und wenn du hier drüben klickst, ist dies der Link zur offiziellen Website von React. Darauf hat es verlinkt. Okay? Also kannst du auf diese Website gehen und dir auch ein paar Sachen ansehen oder lesen. In Ordnung. Aber ein paar Dinge, die ich hier erwähnen möchte: Sobald Sie den Entwicklungsserver gestartet haben, können Sie ihn beenden, indem Sie unter Windows auf Strg und C oder auf Mac auf Befehl und C drücken . Okay? Ich verwende Windows, also drücke ich Strg C und Sie können sehen, dass dieser spezielle Job beendet wurde. Und jetzt kommen Sie, wenn Sie versuchen zu aktualisieren, das wird nicht funktionieren. Okay, weil der Server ausgefallen ist, oder? Nun, um Ihren Server zum Laufen zu bringen, müssen Sie NBM Start in diesem speziellen Ordner ausführen Okay? Erst dann ist dein Server betriebsbereit. Während der Entwicklung können Sie also den Server eingeschaltet lassen und die Dateien tatsächlich ändern und die Änderungen speichern und live verfolgen. Okay? Nun werde ich etwas mehr über diesen Befehl erzählen Also haben wir die React-App oder die gesamte Anwendung mit diesem speziellen Befehl erstellt die gesamte Anwendung mit diesem speziellen Befehl Jetzt können Sie hier am Ende auch Optionen hinzufügen. Okay? Was Sie also tun können ist, hier Vorlagen zu verwenden. Okay? Nehmen wir an, wenn Sie mit React arbeiten, möchten Sie auch Typoskript verwenden. Okay? Also, wenn Sie Typoskript verwenden, können Sie so etwas hinzufügen Sie können hier Vorlage sagen und Sie können Typoskript sagen Ich werde das nicht ausführen, aber das ist nur eine zusätzliche Information. Dadurch wird die Typoskript-Vorlage verwendet , um Ihre Anwendung zu erstellen, und die Typoskript-Unterstützung wird von Anfang an hinzugefügt. Dies ist hilfreich , wenn Sie an einem größeren Projekt arbeiten, das von einer strengen Typprüfung wird von Anfang an hinzugefügt. Dies ist hilfreich , wenn Sie an einem größeren Projekt arbeiten profitieren kann profitieren In Ordnung. Also können Sie diesen Befehl auf diese Weise verwenden , in Ordnung. Ich hoffe, dieser Befehl ist klar. NPX erstellt React Tap. läuft also nicht, aber Sie können den Server jetzt erneut starten , indem Sie NPM run NPM start sagen . Es tut mir leid Es ist also NPM-Start, so etwas in der Art. Und wenn Sie es starten, wird der Server erneut gestartet. Ordnung. Also ich hoffe, das ist nützlich und ich hoffe, Sie konnten es verfolgen. 3. Einrichten unserer IDE – Visual Studio-Code: Dies ist unsere erste react-basierte Anwendung, die wir erstellt haben, okay? Oder ich sollte sagen, wir haben es nicht erstellt. Okay. Das ist also ein automatisch generiertes Projekt mit der Create React-App. Okay, und es gibt uns hier auch einen Hinweis. Sie können App Dot qs bearbeiten und speichern, um sie erneut zu laden. Okay? Es gibt einen Link zum Lernen von React , der Sie zur offiziellen Website von React führt. In Ordnung, so weit, so gut. Also das ist unsere Anwendung , die läuft. Was müssen wir jetzt tun? Wir müssen anfangen , Dinge zu programmieren und zu modifizieren. Und was werden wir dafür tun? Wir werden eine IDE installieren , die der ID Visual Studio-Code ist. Okay. Also so sieht es aus. Wenn Sie es schon auf dem Computer haben, gut und gut, wenn Sie es nicht haben, dann besuchen Sie diese offizielle Website. Es ist ein kostenloses Tool. Es ist kostenlos, basiert auf Open Source und läuft überall. Da ich Windows verwende, werde ich aufgefordert , eine stabile Version herunterzuladen, die für Windows entwickelt wurde Sie können zu dem Betriebssystem wechseln, das Sie benötigen. Aber wenn Ihr Betriebssystem hier ein Installationsprogramm hat, wird es automatisch Wenn Sie sich also hier von einem Mac aus anmelden, wird Ihnen der Download vom Mac angezeigt. Okay? Also, von welcher Plattform aus Sie das öffnen, es wird Ihnen diese Schaltfläche zeigen und Sie können das durchgehen wenn Sie nicht wissen, was Visual Studio-Code ist Aber laden Sie es einfach herunter und installieren Sie es wie jedes andere Softwareprogramm Ich habe es bereits installiert, daher werde ich Ihnen die Installationsschritte nicht zeigen, aber die Installationsschritte sind überhaupt nicht komplex. Es ist sehr einfach und unkompliziert. 4. Erste Schritte: Sobald Sie Visual Studio-Code erfolgreich installiert haben , Ihnen eine Seite wie diese angezeigt. Wenn Sie also Visual Studio-Code zum ersten Mal öffnen , wird diese Willkommensseite angezeigt. Nun, ich bin schon eine Weile ein Visual Studio-Code-Benutzer, okay? Und Sie sehen all diese aktuellen Projekte. Es ist also wahrscheinlich, dass Sie diese Liste der letzten Projekte erst sehen , wenn Sie ein Benutzer sind. Okay? Aber da ich ein Benutzer bin, sehe ich, wie gesagt, die Liste der letzten Projekte, die ich in der Vergangenheit verwendet oder erstellt habe. Außerdem werden Sie diese Optionen hier sehen: Neue Datei, Datei öffnen, Ordner öffnen, Git-Repository klonen, Verbindung zu all dem herstellen. Es ist ein sehr nützliches Tool. Visual Studio-Code, ich benutze ihn ständig. Nun, um das Projekt zu öffnen, kennen Sie den Ordner, in dem Sie das Projekt erstellt haben. Sie können also einfach hier auf Ordner öffnen klicken und zu dem Ordner navigieren , in dem Sie das Projekt erstellt haben. Wenn Sie dies aus irgendeinem Grund nicht sehen, können Sie alternativ Sie dies aus irgendeinem Grund nicht sehen, über die Menüoptionen hier zur Datei wechseln und dort den Ordner öffnen sehen. Beide sind gleich. Ich wähle also OpenFolder aus, navigiere zu dem Verzeichnis meiner Wahl und öffne das Projekt hier. Als ich jetzt Ordner öffnen auswählte, sah ich dieses Ordnerfenster, das heißt, ich navigiere es zu dem Ordner, in dem ich die React-App erstellt habe Und ich wähle diesen speziellen Ordner aus. Dies ist mein React-App-Projekt , das wir erstellt haben. Darin werden Sie einige Dateien sehen, aber Sie müssen den Stammordner auswählen. Ich sage auswählen und es wird diesen speziellen Ordner für mich öffnen. Jetzt kann ich diese Willkommensseite hier schließen, okay? Also kannst du das Projekt hier auf der linken Seite sehen , okay? Sie können den gesamten Ordner sehen. Wenn Sie diesen Bereich erweitern, werden Sie die darin enthaltenen Dateien sehen. Okay? Also, als du den Befehl Create React App ausgeführt hast, okay mit Create React App, hat er all das für dich erstellt. Sie können es auch manuell erstellen. Aber wie Sie sich vorstellen können, wird das sehr mühsam sein, oder Dieses spezielle Tool, die Create React-App, erledigt die Arbeit für Sie und richtet die gesamte Projektstruktur für Sie ein. Okay? Wir werden diese Projektstruktur bald durchgehen , aber im Moment möchte ich auch erklären, dass wir den Server vom Terminal aus betriebsbereit haben . Was ich jetzt tun kann, ist dass ich kein externes Terminal verwenden muss. Visual Studio-Code bietet eine Möglichkeit, mit der ich tatsächlich ein Terminal innerhalb von Visual Studio-Code haben kann. Auf diese Weise muss ich Visual Studio-Code nie verlassen und zu einem lokalen Terminal wechseln. Hier oben in den Optionen werde ich das Terminal hier sehen. Sie können neues Terminal sagen, und Sie können sehen, dass dies ein integriertes Terminal im Visual Studio-Code ist . Und wenn Sie PWD sagen, was das aktuelle Arbeitsverzeichnis ist, wird das Terminal automatisch in dem Ordner geöffnet , den Sie im Visual Studio-Code geöffnet haben , dem Projektordner Sie müssen also nicht auch navigieren, Sie müssen nicht den Befehl, die CD und alles ausführen und navigieren, das funktioniert einfach wie ein lokales Terminal Also hier kann ich sagen, dass NPM hier drüben anfängt. In dem Moment, in dem ich sage, dass ich eine Fehlermeldung erhalte, können Sie sehen, dass auf Port 3.000 bereits etwas läuft Und was läuft, unsere Anwendung selbst läuft und sie fragt uns, ob Sie die App stattdessen auf einem anderen Port ausführen möchten . Das möchte ich nicht tun. Ich werde nein sagen. Okay, und es wird einfach die Hinrichtung beenden. Okay? Aber ich werde diesen Server schließen, weil ich kein externes, du weißt schon, externes Terminal hier drüben mehr benutzen will. Okay? Ich möchte mich an das von Visual Studio Code bereitgestellte Terminal halten, und ich werde NPN starten, und das sollte jetzt den Entwicklungsserver für Sie ausführen Okay? Also auf diese Weise können wir das in ein neues Fenster verschieben. Also hier sind wir in dem neuen Fenster und ich habe Visual Studio-Code in dem neuen Fenster ausgeführt. Auf diese Weise muss ich Visual Studio-Code niemals verlassen. Ich kann das hier sogar so minimieren. Okay? Ich kann von hier aus sogar ein neues Terminal erstellen, sodass Sie Plus sehen können, und Sie können mehrere Terminals hier laufen lassen. Okay? Es ist sehr nützlich, und das ist der Grund dafür. Diese Art von Tools, die Visual Studio Code bietet , ist der Grund, warum er in der Entwickler-Community so beliebt ist . Jetzt zeige ich Ihnen auch die Liste der Erweiterungen, die ich habe. Also hier, wenn du zu diesem Erweiterungs-Tab auf der linken Seite gehst , hast du hier einige Optionen wie Suchen, du hast Quellcodeverwaltung, all das ausführen und debarken, okay? Ich verwende Docker auch in einigen meiner Projekte, sodass Sie Docker auch hier sehen können Aber vielleicht siehst du das nicht. Okay? Das braucht eine separate Erweiterung. Okay? Aber wenn du zur Erweiterung gehst, was sind dann Erweiterungen? Mit Erweiterungen können Sie also die Standardfunktionen , die Visual Studio-Code bereits bietet, verbessern oder erweitern . Sie können also sehen, dass ich eine Erweiterung für das Jupiter-Notebook habe. Okay. Immer wenn ich in Python codiere und Notebook-Unterstützung benötige, verwende ich diese Erweiterung. Okay. Also habe ich diese Erweiterung. Dies wird für React nicht benötigt. Ich habe eine Python-Erweiterung. Okay? Nun, dieses automatische Umbenennungs-Tag, könnte für React hilfreich sein, denn , weißt du, wenn du ein Tag umbenennst , okay, und wenn es ein schließendes Tag gibt , okay, und wenn es ein schließendes Tag gibt , wird dadurch die kostenpflichtige Version dieses bestimmten Tags umbenannt die kostenpflichtige Version dieses bestimmten Tags Okay, das ist also etwas, das du haben kannst. Es ist hilfreich. Wenn ich Ihnen zum Beispiel ein Beispiel geben muss , lassen Sie mich Ihnen ein Beispiel geben. Sagen wir also, ob ich hier eine Datei erstelle oder öffnen lasse. Okay, lass mich eine HTML-Datei öffnen. Nun, dieses Ding hier drüben, du kannst sehen, lass mich rüber gehen, nach unten scrollen. Dieser Titel hat also ein öffnendes und ein schließendes Tag. also aufgrund dieser speziellen Erweiterung das Wenn ich also aufgrund dieser speziellen Erweiterung das öffnende Tag umbenenne, können Sie sehen, dass auch das schließende Tag umbenannt wird. Okay? Das ist also der Vorteil dieses automatisch umbenannten Tags. Sie müssen nicht zuerst das öffnende Tag und dann das schließende Tag umbenennen, oder? Paarfärbung ist, Die Paarfärbung ist, wie Sie am Symbol selbst erkennen können, daran gewöhnt, dass das schließende Paar der Klammer farblich hervorgehoben Das ist nützlich, wenn Sie viele Klammern in Ihrem Okay, Debugger für Java, Dev-Container, Jango Doco verwenden viele Klammern in Ihrem Okay, Debugger für Java, , all das wird für andere Sprachen verwendet, Extension Pack für Java, Gradle für Java und Italicde. Okay? Das ist für KI-gestützte Entwicklung. Dies gilt auch für die Verwendung der Intelicode-API. Okay. Ich habe welche für Python. Also das sind alles Python-bezogen, ich scrolle runter, ein Live-Server. Wir brauchen diesen Maven nicht für Java. Das wird auch nicht benötigt. Prettier ist etwas , das du benutzen kannst. Dadurch wird der Code formatiert. Es organisiert den Code für Sie. Okay. Und ja, das haben wir, okay. Ich werde jetzt auch einige Erweiterungen hier hinzufügen. Okay? Also was Sie tun können, ist, hier nach React-Codefragmenten zu suchen, etwa so Okay. Okay, du kannst also nach ES 7 und React suchen, etwa so. Und Sie werden diese Erweiterung mit fast Millionen von Installationen sehen . Das sind also 12,9 Millionen, während ich dieses Video aufnehme. Natürlich wird das weiter zunehmen und Sie vielleicht eine andere Zahl sehen, wenn Sie sich das ansehen Das ist also eine Verlängerung. Das ist der Name ES Seven plus React Redux React Native Also, das gibt dir Vorlagen, okay? Zum Beispiel, wenn Sie eine Funktion erstellen möchten, sodass Sie RAFC sagen können Sie können das einfach eingeben und Sie erhalten die gesamte Funktionsdefinition Okay. Also diese Art von Abkürzungen hat es, die dir helfen, Zeit zu sparen. Also kannst du das installieren. Ich klicke einfach auf Installieren und füge es meiner Liste der Erweiterungen hinzu. Okay? Also ja, wir haben es jetzt installiert, okay? Sie können hier weitere React-Plugins oder -Erweiterungen auf dem Marktplatz entdecken -Erweiterungen auf dem Marktplatz und damit herumspielen. Und Sie können die Standardfunktionen erweitern , die Ihnen Visual Studio-Code bereits bietet. Ordnung. Also ja , hier geht es darum, Visual Studio-Code einzurichten, und ich hoffe, Sie fanden ihn nützlich. 5. Nahtlose APIs in React integrieren: Jetzt ist es an der Zeit, dass wir darüber sprechen, wie Sie mit EPIs in Ihrer React-Anwendung arbeiten können mit EPIs in Ihrer React-Anwendung arbeiten Nun, APIs, wie Sie wissen, steht EPI für Application Programming Interface, und es ist eine Möglichkeit für einen Remote-Server oder ein Backend dem Client die gesamte Funktionalität zur Verfügung zu stellen Okay? Und vielleicht haben Sie eine React-Anwendung im Frontend, die möglicherweise die Dienste nutzen möchte , die vom Backend-Server verfügbar gemacht werden Stimmt das? Und wenn Sie heute irgendeine Art von Anwendung entwickeln, ist die Verwendung von EPIs wirklich, wirklich üblich, okay? Ich kann mir nicht vorstellen, dass eine Anwendung in Produktionsqualität keine EPIs verbraucht Okay, APIs sind heutzutage sehr verbreitet. Und wenn Sie ein seriöser Entwickler werden möchten, ist es wichtig, dass Sie verstehen, wie Sie EPIs auf die richtige Weise in Ihrer React-Anwendung nutzen können EPIs auf die richtige Weise in Ihrer React-Anwendung Also das werden wir in einer praktischen Art und Weise behandeln , okay? Also, was wir tun werden, ist, dass ich bereits diese React-Anwendung habe, die ich mit VT erstellt habe, und ich habe eine App-GSX-Datei, in die ich meinen gesamten Code schreiben werde Es ist eine Komponentendatei, die hier in Minix gerendert wird. Sie können sehen, dass sie hier gerendert wird. In Ordnung? Also, als Erstes, um mit APIs zu arbeiten, brauchst du eine Reihe von ABIs, okay? Und zum Glück haben wir hier eine Reihe kostenloser gefälschter APIs. Okay, das kann zum Testen und Prototyping verwendet werden. Also werde ich diese Website namens snplaceholder.typod.com nutzen . In Ordnung. Und wie Sie hierher kommen, Sie können die URL direkt in den Browser eingeben oder Sie können bei Google nach GCN-Platzhalter suchen und Sie werden diesen CN-Platzhalter auf typicod.com sehen diesen CN-Platzhalter auf typicod.com In Ordnung. Wenn Sie also auf diese Website kommen, werden Sie feststellen, dass sie kostenloses gefälschtes, zuverlässiges EPS zum Testen anbietet , okay? Es listet die Sponsoren hier auf. Okay, und es gibt dir einen Überblick darüber , wie du es hier benutzen kannst Okay? Also kannst du es hier drüben sehen. Das ist der Endpunkt , den es bereitstellt. Okay? Ja, es ist ein Zwei-zu-Endpunkt, und du kannst es hier auslösen. Sie werden das S und die Antwort sehen. Okay? Du kannst es hier sehen. also Benutzer-ID, ID werden also Benutzer-ID, ID, Titel und fertig hier angezeigt. Okay? Und du kannst die API aufrufen. Okay. Lassen Sie mich eine Menge davon mögen, Sie können die API auf diese Weise aufrufen, indem die Fetch-Methode in JavaScript Beim Abrufen von JavaScript handelt es sich nicht um ein React-Konzept, sondern um JavaScript-bezogene Inhalte, tut mir leid, JavaScript-Konzept Und da React auf JavaScript basiert, können Sie Fetch in Ihrem Code verwenden Wenn Sie dieses Skript ausführen, gibt Fetch im Grunde ein Versprechen zurück, und dann nutzen wir es, dann werden diese dann hier drüben angeordnet Wartet dann, bis es fertig ist. Dann bekommst du die Antwort hier drüben und sie wird ausgeführt. Was also passiert, ist, dass die Antwort hier berücksichtigt und in JSN umgewandelt wird. Nachdem dieser Vorgang abgeschlossen ist, die JCN auf der Konsole gesperrt Okay? Wenn du dieses Skript ausführst, wirst du sehen, dass das die Ausgaben sind, die du bekommst, oder? Es ist im Browser gebaut. Es erlaubt dir, hierher zu fahren. Und es gibt viele Endpunkte, die es bietet. Okay, Sie können Slash Post sehen. Ich gebe dir 100 Beiträge, also kannst du hier rüber gehen. Sie können 100 Beiträge sehen, die es Ihnen zur Verfügung stellt. Wenn Sie also viele Daten benötigen, können Sie diese Kommentare, Alben und Fotos abfragen . Sie erhalten 5.000 Fotos, Aufgaben , Benutzer und alles Okay? Also ja, diese APIs können Sie verwenden. Es gibt Unmengen von Dingen. Wenn Sie eine GET-Anfrage stellen möchten, sind dies zehn Punkte. Wenn Sie eine Post-Anfrage stellen möchten, gibt es hier einige Endpunkte. Patch-Anfragen, Anfrage auch löschen. Nun, wenn Sie sich mit EPIs und ihrer Funktionsweise auskennen, werden Sie wissen, dass EPIs verschiedene Typen gibt wie Get, Post, Put, Patch, Delete, oder Also, ja, das ist ungefähr dieser Inhaber vom Typ JCN. Entschuldigung, JCNPlaceHlder. In Ordnung Alles, was du tun kannst, ist, dass wir das hier drüben nutzen werden. Okay? Um zu unserer Anwendung hier zu kommen, habe ich ein sehr einfaches Komponenten-Setup. Okay? Es gibt nur einen einfachen Jex zurück , der nur den Header hat Okay? Also was wir tun werden, ist, wir werden diese Daten bekommen. Okay, also ich kopiere das einfach hier drüben. Okay, sofort. Und ich werde das sofort hier in meine Komponente einfügen, aber ich werde es nicht Okay. Ich werde Use Effect Hook hier benutzen. Weil es eine Nebenwirkung gibt, oder? Und wie nutzen wir Use Effect? Also Hoppla, tauche einfach auf. Okay, also wie nutzen wir den Use-Effekt? Zuallererst habe ich eine Funktion, o. Und hier ist das eine Funktion, die mit der Logik aufgerufen wird. Okay. Und dann habe ich ein Komma mit der Abhängigkeit Also, welche Abhängigkeit ich hinzufügen möchte , ich kann sie hier hinzufügen. Okay. Das ist erledigt. Okay. Das ist eine Pfeilfunktion, also braucht sie einen Pfeil. Alles klar. Das ist eine Syntax, die ich verwenden werde, okay? Jetzt möchte ich diese Operation durchführen. Die Operation wird also in diesen geschweiften Klammern stehen, also werde ich sie hier beenden und den Abruf-Code hier einfügen. Okay? Okay, du kannst das mit einem Semikolon beenden, wenn du willst, Okay, ich zoome einfach heraus, sodass es hier auf einem einzigen Bildschirm sichtbar ist einem einzigen Bildschirm sichtbar Okay? Nun, eine Sache, die man hier beachten sollte, ich übergebe hier einen leeren Abhängigkeitsbereich , weil ich möchte, dass dieser Use-Effect-Hook oder dieser Code auf dem ersten Mount oder auf der Menge der Komponente ausgeführt wird, beim ersten Rendern und nicht danach. die Regeln für den Use-Effekt betrifft, so Sie hier ein leeres Abhängigkeits-Array übergeben, wenn Sie möchten, dass eine bestimmte Logik auf dem Komponenten-Mount ausgeführt wird. Okay? Also, was das macht, ist, dass es das holt Es führt einen Abruf-Aufruf an diesen bestimmten Endpunkt durch. Es erhält die Antwort und wandelt sie hier in eine JCN um, und dann sperrt es die JCN mit diesem Ding auf die Konsole Okay? Also gleich, was ich tun werde, ist, Console hier drüben zu öffnen Okay. Und ich gebe Ihnen hier einen Haftungsausschluss, dass dieses Ding zweimal auf der Konsole gedruckt wird. Warum? Weil wir hier im strikten Modus arbeiten. Okay, Mint ch Sex. Sie können den strikten Modus sehen. Wenn Sie die Ausgabe nur einmal auf dem Component Mound sehen möchten, müssen Sie den strikten Modus von dort entfernen Ordnung. Also werde ich das speichern. Sobald Sie speichern, sehen Sie diese Ausgabe auf der Konsole. Ordnung. Du kannst es sehen. Und Sie können es erweitern, wie Sie sehen werden, verwenden Sie ID. Äh, Ausweistitel hier drüben und fertig. In Ordnung. Also das funktioniert absolut einwandfrei, und so können Sie die Daten abrufen und auf der Konsole anzeigen. Alles klar? Nun, das Anzeigen von Daten auf der Konsole ist natürlich nicht das Ziel, aber das Ziel hier ist zu sehen, wie Sie Fetch verwenden können , um PA-Aufrufe zu tätigen Okay, jetzt haben wir die Daten in unserer React-Anwendung, aber wir protokollieren sie gerade in unserer Konsole Nun, von hier aus, diesem Teil des Codes, können wir diese Daten überall hin mitnehmen, oder? Wir können diese Daten überall hin mitnehmen, heißt, wenn ich will, kann ich diese Daten auch aktualisieren oder in einen Zustand versetzen. Okay? Und lass uns das machen. Okay? Also was ich tun werde, ist , hier drüben einen Staat zu haben. Ich sage Daten. Ich werde hier Daten gesetzt haben, etwa so, ich sage hier use state und ich werde hier ein MTRA als Initialisierung haben Ich habe also diesen Datenstatus. Jetzt kann ich dieses JCN hier drüben haben, richtig, als Eingabe Anstatt es also auf der Konsole zu protokollieren, würde ich sagen wollen, dass ich statt Konsolen-Log-JCN sagen würde , Daten setzen, und ich gebe diese JCN So wie das. Okay? Und das ist erledigt. Okay? Wenn ich das speichere, die Daten nicht auf der Konsole protokolliert, wenn ich sie aktualisiere. Daten sind nicht auf der Konsole gesperrt, aber sie werden jetzt auf den aktuellen Status aktualisiert. Alles klar? Es ist jetzt auf den neuesten Stand gebracht. Aber wir verwenden den Status nicht oder zeigen ihn irgendwo an, oder? Sie können also auch die Abruf-Daten anzeigen , oder? Also, was ich tun werde, ist , hierher zu kommen und uns eine ungeordnete Also, da wir hier eine Werteliste bekommen. Also, wenn Sie die Daten sehen, ob ich hier einen Anruf tätige oder wir die Daten hier haben, richtig? Das sind die Daten. So wird es uns zugeschickt. So können wir die Benutzer-ID, die ID und den Titel anzeigen und vervollständigen. Also, was ich tun werde, ist, eine ungeordnete Liste hier drüben zu haben. Ich werde ein Jar-Skript verwenden. Okay, ich sage Datenpunktkarte. Nun, da wir Array verwenden, okay, ich sage Datenpunktkarte. Nun, hier in der Map würden wir sagen, dass wir das hier machen sollen, denn das ist es, was wir holen Okay, wir holen das, was erledigt werden muss. Okay. Also haben wir hier im Moment nur ein Objekt. Okay? Wir werden es später aktualisieren um auch eine Liste von Objekten zu erhalten. Okay, also mach dir darüber keine Sorgen. Okay. Ich würde sogar sagen, da wir nur ein Objekt bekommen, brauchen wir nicht einmal eine Karte. Okay? Also was wir tun können, ist, mich das entfernen zu lassen. Okay? Ich würde sagen, wir brauchen nicht mal eine Karte. Ich würde es einfach so anzeigen. Okay? Also sage ich, Daten sind straff, und was ist das Eigentum Eigentum ist Titel, richtig? Wir haben einen Eigentumstitel, also sage ich Titel, ungefähr so. Okay. Ups, das wird also in dem Paar lockiger Zahnspangen sein Sie können sehen, dass dies der Titel ist , den wir von der API erhalten Du kannst sehen. Okay, das sind die Daten, die wir bekommen, richtig? Sie können die ID anzeigen, die Benutzer-ID ist auch vollständig. Okay? Also kannst du die ID hier drüben anzeigen. Okay. Ich kann auch die Benutzer-ID anzeigen, so etwas. Okay. Benutzer-ID. Okay. Sie können sehen, dass ID eins ist, Benutzer-ID ist eins. Okay. Und du kannst hier auch irgendeinen Text haben , Benutzer-ID. In Ordnung, also, okay, nein, das ist ID. Also, das ist kurz gesagt Ausweis. Um ID zu machen. Okay. Und das ist die Benutzer-ID. Also werde ich eine Benutzer-ID haben, ungefähr so. Und das ist der Titel Okay, so etwas, und du kannst die Daten sehen, oder? Und fertig oder nicht, das kannst du auch hier haben. Okay? So fertig oder nicht , dass du es auch anzeigen kannst. Okay, es liegt ganz bei dir, aber wir brauchen keine Karte, weil wir hier keine Liste bekommen. Okay? Also das ist für einen einzelnen Artikelsatz hier drüben. Also sagen wir morgen morgen. Also hier, ich scrolle nach unten. Hier bekommen wir die Liste der Todos. Du siehst, wir bekommen die Liste der Todos. Also dieselbe Logik kannst du hier drüben in To-Do umwandeln, oder? Das kannst du machen, okay? Oder lassen Sie uns das ändern, um auch zu posten. Sie können es ändern, um zu posten, wenn Sie möchten. Okay? Also, was ich tun werde, ist , den Endpunkt zu nehmen. Beitrag. Okay? Ich füge es hier hinzu. Okay. Und ich werde diesen Endpunkt durch diesen ersetzen, etwa so. Ich werde das entfernen. Okay. Das ist ziemlich einfach. Und jetzt werde ich eine Datenpunktkarte haben , denn jetzt bekommen wir die Liste der Informationen, richtig? Also werde ich diese Karte haben. Okay? Also, bevor ich die Karte hinzufüge, werde ich zunächst eine ungeordnete Liste haben Dann sage ich hier Datenkarte. Okay. Und hier sage ich Post. Für jeden Beitrag, okay, ich muss etwas tun. Okay? Was werde ich tun? Das werde ich hier definieren, okay? Für jeden Beitrag werde ich hier eine Liste haben, okay? Und die Liste wird einen Schlüssel haben. Okay? Also, was wird der Schlüssel sein? Was sollte der Wert des Schlüssels sein? Also sollte es ID sein. Ich werde eine eindeutige Kennung für den Schlüssel haben. Okay? Also ich kann hier Post Dot ID sagen. Okay. Dann hier drüben, nach LI, nehme ich P-Tag oder H-Two-Tag, je nachdem, wie Sie es anzeigen möchten. Ich sage Post Dot-Titel, ungefähr so. Okay. Und dann, äh, lass mich sehen, Titel ist eins und Körper ist eins. Ich sage Titel und dann P, und dann hast du, äh, Nachrichtentext. Du kannst also Post Body sagen, so etwas in der Art. Okay? Das ist erledigt. Okay, jetzt bekommst du den Fehler. Wenn Sie also den Fehler sehen, glaube ich zu wissen, was der Fehler ist. Es ist wahrscheinlich so, dass es funktionieren muss, oder Sie können sehen, dass die Datenpunktkarte keine Funktion ist. Okay? Verstanden. Also hier stellen wir das als Array ein. Okay? Also werden wir das entfernen und ich setze es hier auf Null. Okay. Und lassen Sie uns sehen, ob der Fehler behoben ist. Okay, der Fehler geht nicht. Okay, ich habe also ein Problem herausgefunden. Das Problem bestand darin, dies auf Null zu setzen. Okay? Also war es richtig , es auf ein leeres Array zu setzen. Okay? Ich weiß nicht, warum ich bei einer Hard-Refresh den Fehler bekommen habe, der Fehler ist weg. Okay? Also der Code stimmt. Ich hatte dieses leere Array anfangs richtig platziert, okay, weil wir es als Array haben wollen , weil wir hier die Map verwenden, oder? Und Map ist nur eine Methode für Arrays, okay? Es funktioniert mit Arrays Wenn Sie jetzt nach einer Aktualisierung sehen, und wenn ich hier drüben sehe, können Sie den Hauptteil und den Titel des Beitrags sehen, Sie können sehen, wie er hier angezeigt wurde Okay. Wenn Sie möchten, können Sie den Hauptteil des Beitrags mithilfe des Bowl-Tags anzeigen. Du kannst B hier drüben haben. Okay? Oder du kannst sogar stark sein, okay? Also sage ich stark. Okay. Und ich füge einfach den Titel in den Strong ein und du kannst den Titel und die Pose hier sehen. Okay. Also holen wir uns tatsächlich 200 Posen Okay, denn das ist es, was diese API sagt. Okay, wenn du hier drüben nachsiehst, gibt es, tut mir leid, 100 Posen, nicht 200 Beiträge Es gibt 100 Posen und wir zeigen hier 100 Posen an. Okay? Benutze den Fetch Fetch von JavaScript. Okay? Das funktioniert also so, dass dieser Use-Effect-Codeblock auf der ersten Komponentenhalterung ausgeführt wird. Warum wird er auf der ersten Komponentenhalterung ausgeführt? Wegen dieses Abhängigkeits-Arrays? Wenn das Abhängigkeitsarray leer ist, okay, der Codeblock, den Sie hier haben, wird gemäß den Regeln Codeblock, den Sie hier haben, wird einmal auf dem Komponenten-Mount ausgeführt. Was nun beim Komponenten-Mount passiert, Sie verwenden Fetch Sie rufen diesen Endpunkt hier auf und dann haben Sie ein Set Ihnen wird ein Versprechen gegeben, und dann nutzen Sie es hier drüben , um die Antwort in Jason zu erhalten, und dann verwenden Sie die Antwort, um Daten festzulegen. Okay? Was sind festgelegte Daten? Bei Datensätzen handelt es sich um festgelegte Daten Sie können die Daten hier einstellen, was nichts anderes ist als der Zustand hier drüben. Es handelt sich also um eine Reihe von Funktionen. Okay? Dann haben Sie Daten mit diesen Daten, die Sie vom Server erhalten. Was machst du jetzt? Sie können die Karte hier verwenden, um die Daten auf diese Weise anzuzeigen. Okay, wir wiederholen es und wir zeigen es Wenn wir hier nur einen Beitrag bekommen, wenn du nur einen Beitrag bekommst und nicht die Liste der Beiträge, dann brauchst du keine Map weil du nicht über die Daten iterieren musst, Ich hoffe, das macht Sinn, okay? Hier kommen also alle Javascript-React-Konzepte zusammen. Okay, also wie viele Konzepte verwenden wir? Wir verwenden die Use-Effect-Hooks, wir verwenden das Hook-Konzept. Du benutzt Staaten hier drüben. Sie verwenden Fetch from JavaScript. Du machst hier von Versprechungen Gebrauch. Und dann nutzen Sie hier die Kartenfunktion mit Arrays und zeigen die Daten Du benutzt auch ihr Geschlecht. In Ordnung? Also können Sie sehen, wie das die Daten von einem Remote-Server rendert. Und ich hoffe, Sie konnten dem folgen, und ich hoffe, das war nützlich. 6. Lastzustände und Fehlerbehandlung effizient verwalten: Hallo, da. Wir sprechen also darüber, wie Sie mit APIs in React arbeiten können? , die Dabei haben wir eine sehr einfache Komponente erstellt , die diese API aufruft, um die Liste der Beiträge abzurufen, und wir zeigen die Daten hier in der Komponente an. Okay? Und das ist der Output, den wir bis jetzt bekommen haben. Und wenn du das im Vollbildmodus sehen willst, dann ist das unser EPI, und so sieht die Ausgabe jetzt aus, okay? Du siehst alle Beiträge. Okay. Mach dir keine Sorgen. Dies ist dieser Beitrag oder in einer anderen Sprache. Okay? Vielleicht lass mich übersetzen, wenn ich das übersetze, da steht, dass es auf Latein ist. Okay. Absolut okay. Wir wollen nur ein paar Dummy-Daten, mit denen wir arbeiten können, oder? Es spielt keine Rolle , welche Sprache. Okay. Also ja, das ist Post. Jetzt zeigen wir die Daten an. Nun, was passieren kann, ist, dass Sie, wann immer Sie mit EPIs arbeiten , einen Remote-Serveraufruf tätigen, okay? Sie tätigen einen Fernanruf zu etwas, richtig? Und es wird ein Szenario in dem die Daten, die Sie erhalten, etwas Zeit in Anspruch nehmen. Es ist also eine gute Praxis , eine Schnittstelle zu verwenden oder eine Schnittstelle zu haben, über die Sie dem Benutzer mitteilen , dass die Daten abgerufen werden , und diesen Zustand können wir als Ladezustand bezeichnen , oder? Wie würden Sie also mit dem Ladestatus umgehen wenn Sie Daten von einem Remote-Server abrufen? Daten von einem Remote-Server abrufen Außerdem war dies das erste Szenario in dem Sie mit einem Ladestatus umgehen möchten zweite Szenario ist, dass Sie vielleicht mit jeder Art von Fehlersituationen umgehen möchten , okay? Nun, ein Fehler könnte ein Tippfehler in der URL sein oder die Daten wurden abgerufen, aber wenn Sie sie in JSN konvertieren, erhalten Sie dort eine Fehlermeldung, okay, weil die empfangenen Daten nicht im richtigen Format sind erhalten Sie dort eine Fehlermeldung, okay, weil die empfangenen Daten nicht im richtigen Wie würden Sie in diesem Fall mit Fehlern umgehen und sie verwalten? Okay, darüber werden wir sprechen. Wir sprechen also über zwei Dinge, über den Umgang mit dem Ladestatus und die Verwaltung der Fehler bei der Arbeit mit APIs, okay? Lassen Sie uns zunächst über den Ladestatus sprechen. Okay? Für den Ladestatus können wir also tatsächlich eine benutzerdefinierte Benutzeroberfläche oder eine andere G 6 verwenden, die wir zurückgeben, wenn der Status geladen wird. Okay? Also was ich tun werde, ist, zuerst einen Staat hier drüben zu haben. Ich sage Laden. Okay, und ich sage, hier wird das Gerät geladen. Okay, und ich sage „ Status verwenden“, ungefähr so. Okay. Und ich nehme das. Okay. Also kannst du haben, dass das ein boolescher Wert ist Das ist ein boolescher Zustand hier drüben, okay? Der Staat hat boolesche Daten. True bedeutet also, dass gerade Daten geladen werden, und falsch bedeutet, dass es derzeit nicht geladen Okay? Also werde ich das auf False initialisieren lassen, sagen wir hier drüben. Okay. Nun, was wir tun würden, ist, wenn der Status wahr ist, was wir tun können, ist, dass wir diese Schnittstelle nicht zeigen wollen. Okay? Denn wenn die Daten geladen werden, was ist da in dieser Schnittstelle, es sind die Post-Daten, die wir vom Server bekommen. Wenn die Daten noch nicht abgerufen wurden und sich im Ladezustand befinden, sollten wir sie nicht anzeigen Stattdessen benötigen wir eine andere Art von Benutzeroberfläche, in der wir dem Benutzer mitteilen müssen dass hey, die Daten werden geladen Okay? Also, was Sie tun können, ist, Ihre Aussage hier drüben zu haben. Sie können sagen ob, und ich sage, ob geladen wird. Okay, also wenn das Laden wahr ist, kehre ich zurück. Sie können hier also mehrere Rücksendeerklärungen haben. Okay. Also hier gibst du etwas JSX zurück, aber wenn das Laden stimmt, gibst du hier eine andere J six zurück und was geben wir zurück Wir geben hier ein einfaches P-Tag zurück. Okay, also füge ich einfach ein P-Tag und sage Laden, so etwas in der Art. Ganz einfach. Okay, es ist nur ein Text. Ich mache mir keine Gedanken darüber, eine komplexe Oberfläche zu erstellen, aber Sie können hier auch eine komplexe Sache definieren . Das ist es, was es bedeutet Okay? Also hier, das wird nicht wiedergegeben, weil der Staat falsch ist, oder? Sobald ich den Status auf „Wahr“ ändere und diesen Wert speichere, wird der Ladevorgang angezeigt . Stimmt das? Wird geladen bedeutet, dass dies noch geladen wird und die Daten noch nicht abgerufen wurden Okay? Also das wird der Benutzer sehen , wenn die Daten abgerufen werden, richtig Und wir ändern das manuell falsch und falsch in wahr, oder? Und wir schauen, ob es gut funktioniert. Okay? Also hier werden keinerlei Fehler angezeigt, das ist absolut gültig. Sie können mehrere Rücksendungen haben, diese sollten jedoch an Bedingungen geknüpft sein. Als ob das bedingt wäre, oder? Sie können nicht einfach eine Rückmeldung hier haben. Okay, es ist doch eine Funktion, oder? Das wird unerreichbar, weil du hierher zurückkehrst, oder? Es macht also keinen Sinn, weil das hier Ja-Skriptfunktionen sind , sonst nichts, oder? Sie können also diese Art von Rendite haben. Du kannst sagen, wenn es geladen wird, dann gib es zurück, okay? Was ich jetzt tun muss, ist, wenn die Daten abgerufen werden, den Wert für das Laden des Zustands für das Laden hier festlegen . Okay? Also, was ich tun werde, ist zunächst zu sagen, dass der Staat falsch ist, okay. Und innerhalb dieses Nutzungseffekts hier drüben. Und wenn die Daten abgerufen werden, okay? Ich würde sagen, Set wird geladen. Okay? Also wenn wir die Daten hier einstellen. Wenn das Laden also anfänglich innerhalb dieses Nutzungseffekts beginnt, kann ich sagen, dass das Laden auf den Wert true gesetzt wird. Etwas in der Art. Okay. Und dann, sobald die Daten hier abgerufen wurden. Also, wenn die Satzdaten hier aufgerufen werden, wenn das Laden abgeschlossen ist, dann können wir das in Cibras hinzufügen, weil wir jetzt mehr als eine Anweisung hinzufügen und hier kann ich sagen, dass das Laden von Sets deaktiviert ist, kann ich sagen, dass das Laden von Sets das von fällt, weil das Laden fertig ist Okay. So können Sie also das Laden verwalten. Wenn Sie das jetzt speichern und aktualisieren, werden Sie sehen, dass der Ladevorgang angezeigt wird wenn der EPA-Anruf stattfindet. Sie können sehen, Sie können sehen. Es dauert kaum eine Sekunde , weil die EPA natürlich schnell ist. Okay. Aber wenn die API etwas Zeit in Anspruch nimmt, wird sie natürlich für eine Weile da sein. Also, was machen wir? Wir verwalten den Ladestatus mit Hilfe eines Bundesstaates hier drüben, okay? Wir zeigen den Ladevorgang mit Hilfe eines Zustands an. Wir haben den Ladestatus mit dem Standardwert Falls definiert, und dann haben wir diese Benutzeroberfläche, die, wenn das Laden wahr ist, diesen JSX zurückgeben, okay? Sie können das nach Belieben ändern. Sie können dafür benutzerdefiniertes CSS definieren lassen. Es ist ganz deine Wahl. Aber wie wird das angezeigt und versteckt? Zuerst im Use-Effect-Hook setzen wir als Erstes das Laden auf true. Und dann setzen wir das Laden auf „fällt“. Wenn Sie jetzt verpassen die Daten abgerufen wurden und sie im Status aktualisiert wurden, setzen wir den Ladevorgang auf Fols, sodass die Daten angezeigt werden Fols, sodass die Daten angezeigt Falls Sie diesen Schritt aus irgendeinem Grund verpassen, ist es richtig, das Laden auf „Falten“ zu setzen, das Laden auf „Falten“ zu setzen, damit es beim Laden einfach hängen bleibt Auch wenn die Daten hier drüben in den Staat hier drüben übertragen werden, okay? Du aktualisierst nicht den Zustand, den du ursprünglich hattest . Ich muss das aktualisieren. Und in dem Moment, in dem ich aktualisiere, werden Sie sehen, dass die Daten abgerufen werden Und das gibt Ihnen einen schönen Hinweis für den Benutzer, dass Daten geladen werden , falls der EPI Zeit benötigt So können Sie also den Ladestatus verwalten , wenn Sie mit API-Aufrufen arbeiten Okay? Jetzt kommt der zweite Teil, der die Fehlerbehandlung ist. Okay? Nun zur Fehlerbehandlung, es ist offensichtlich, dass Fehler passieren können, wenn Sie mit EPIs arbeiten , oder? Also, was ich tun werde, ist, hier drüben noch einen Staat zu haben. Ich sage const, ich sage error und ich sage set error, und ich sage use State auf Null. Okay. Der Fehler ist also zunächst Null. Es ist ein Zustand, den ich hier erschaffe. Okay? Wie ich es für das Laden von Daten und Fehlern angegeben habe. In Ordnung. Und was ich tun werde, ist hier, ich habe das dann, das ist der DN, der ausgeführt wird , sobald die Daten in der JSN-Form empfangen wurden Okay, ich kann hier noch einen Schritt hinzufügen . Ich kann fangen sagen. Okay. Du kannst hier fangen sagen, und ich kann Fehler sagen, fang den Fehler, und du kannst den Fehler hier tatsächlich beheben. Okay? Also ich kann Console Dot sagen. Loggen Sie sich zuerst hier ein. Ich kann den Fehler protokollieren. Ich kann sagen, äh, okay. Lassen Sie mich die Vorlagen verwenden. Okay, also ich sage Fehler beim Abrufen der Daten. Okay. Und ich kann die Fehlerinformationen einfach hier haben. Weitergereicht zu werden. Okay, das ist erledigt. Okay, ich habe das Semikolon verpasst, also füge ich hier ein Semikolon hinzu Okay. Ich zoome einfach ein bisschen heraus. Das ist also in der Einzelansicht sichtbar. Also habe ich diesen Console Dot Error. Dann kann ich sagen, Fehler einstellen. Okay, Fehler setzen und ich kann den Fehler hier aktualisieren. Ich kann die Fehlerinformationen im Feld aktualisieren, um die Daten abzurufen Das ist also die Botschaft, die Sie dem Benutzer präsentieren möchten Ich stelle das ein, okay? Und ich sage, das Laden auf das von Stürzen einstellen, okay? Sie müssen hier auch den Ladevorgang auf Fallover aktualisieren , da Sie den Ladevorgang zunächst auf true gesetzt haben. Direkt im Nutzungseffekt. Okay? Sobald die Daten geladen sind, stellst du sie auf Stürze, und sobald irgendein Fehler auftritt, stellst du das Laden auf Stürze weil der Ladevorgang abgeschlossen ist, oder? Sie müssen also den Status aktualisieren. Okay? Und wir müssen den Fehler dem Benutzer anzeigen. Wenn du willst, kannst du es anzeigen. Also, was ich tun werde, ist, wenn etwas Ähnliches hinzugefügt wird. Ich kann hier sagen, ob ein Fehler vorliegt. Ich werde den Fehler anzeigen. Ich werde den Fehler einfach anzeigen. Ich kann Fehler sagen, so oder so. Okay? Also, wenn du aktualisierst, wirst du hier keine Fehlermeldung bekommen, okay? Aber was Sie tun können, ist , wir können ein benutzerdefiniertes Fehlerobjekt erstellen und Sie können das Fehlerobjekt tatsächlich auslösen und wir können sehen, wie der Fehler passiert. Das können Sie hier tun. Okay. Sobald die Daten hier abgerufen wurden, können Sie einen neuen Fehler sagen oder Sie können sagen , einen neuen Fehler auslösen. Sie müssen den Fehler auslösen, einen neuen Fehler auslösen. Okay. Nehmen wir an, Sie haben diesen Fehler beim Übergeben der GSN Du kannst also sagen, Ups. Also das wird rauskommen Man kann sagen, dass etwas schief gelaufen ist. Etwas ist schief gelaufen, so etwas , und du kannst das speichern. Sie können sehen, dass Daten nicht abgerufen werden konnten, oder? Weil wir hier manuell einen benutzerdefinierten Fehler ausgeben, in Ordnung, um die Fehlersituation zu simulieren. In Ordnung. Und wenn Sie zur Konsole kommen, sollten Sie sehen, dass ein Fehler angezeigt wird. Auf dieser Folie ist ein Fehler beim Abrufen von Daten zu sehen . Etwas ist schief gelaufen Okay? Sie können die Nachricht auch sehen. Okay? Jetzt machst du Console Dot Log. Sie können einen Konsolen-Punktfehler machen. Das ist eine gute Praxis hier. Wenn es darum geht, Fehler zu protokollieren. Wenn Sie jetzt aktualisieren, wird die Option „Redo it“ rot angezeigt Stimmt das? Also so funktioniert es, und es wird zweimal geworfen, weil wir natürlich streng sind. Also ja, so kannst du den Fehler hier beheben. Okay? Ich hoffe, das ist klar und es gibt Ihnen einen guten Hinweis darauf wie Sie benutzerfreundliche Anwendungen erstellen können , weil Dinge wie EPI Zeit zum Laden braucht oder die Antworten Zeit brauchen, Dinge wie EPI Zeit zum Laden braucht oder die Antworten Zeit um gerendert zu werden oder es treten irgendwelche Fehler auf. Das sind alles normale Situationen. Dies sind alles H-Fälle , die passieren können. Und wenn Sie dynamische Anwendungen entwickeln, die APIs nutzen, ist es natürlich dynamische Anwendungen wichtig, dass Sie wissen, wie Sie damit umgehen können. Alles klar? Ich hoffe, das ist nützlich und ich hoffe, dass Sie dadurch einige gute Kenntnisse darüber erhalten , wie Sie mit APIs arbeiten können. Also, ja, das war es auch schon. Ich werde dich bald sehen. 7. API-Aufrufe in React mit Axios vereinfachen: Hallo, da. Jetzt ist es an der Zeit, dass wir anfangen, über Axis zu sprechen. Nun, was ist Axis? Axis ist ein HTTP-Client , der Promise-basiert für JavaScript ist. Okay? Wenn ich jetzt JavaScript sage, bedeutet das, dass es auf Browser, Nodejs, React und all dem läuft . Alles klar? Nun, das ist die offizielle Website von axisxshttb.com, und Sie können Eine einfache Google-Such-Axis-Bibliothek oder wo auch immer, wie bei Google oder einer anderen bevorzugten Suchmaschine Ihrer Wahl. Sie werden diesen ersten Link hier oben sehen, nämlich das Axis HTDP-Doc Intro das Okay, das ist also die URR hier drüben. Wenn Sie auf diese Website kommen, werden Sie einige Details darüber sehen, was Axis ist Und auf der rechten Seite sehen Sie einen Code , der zeigt, wie Axis funktioniert. Es ist eine einfache Abrufanforderung , die gerade ausgeführt wird. Stimmt das? Nun, axis und fetch, beide sind die beliebtesten Methoden, um HTDP-Anfragen in JavaScript zu Es gibt jedoch einige Gründe , warum Access verwendet wird. Der Zugang ist einfach. Es hat ein Konzept von Abfangjägern, okay? Interzeptoren bedeuten also, wenn zum Beispiel für jeden API-Aufruf in Ihrer Anwendung auch ein OT-Token oder irgendeine Art von Headern erforderlich ist, die über alle API-Aufrufe hinweg konsistent sind, dann können Sie das Konzept von Interzeptoren verwenden, bei dem Sie diese das Konzept von Interzeptoren gemeinsamen Header zentral verwalten können auch ein OT-Token oder irgendeine Art von Headern erforderlich ist, die über alle API-Aufrufe hinweg konsistent sind, dann können Sie das Konzept von Interzeptoren verwenden, bei dem Sie diese gemeinsamen Header zentral verwalten können. Das sind Interzeptoren, okay? Also ja, Access ist auch bei Fetch sehr beliebt. Fetch ist also eine integrierte Methode, API-Aufrufe auszuführen. Access ist eine Bibliothek. Okay, du kommst also hierher auf diese Seite. Wenn Sie „Erste Schritte“ sagen, werden Sie auf diese Seite weitergeleitet, auf der Sie einige Funktionen von Axis sehen können. Sie können sehen, dass es eine Möglichkeit bietet, Anfragen und Antworten mithilfe von Interzeptoren abzufangen Sie können all diese Arten von Unterstützungen zur versprochenen API machen . Ich kann Anfrage - und Antwortdaten transformieren. Sie können die Anfrage auch stornieren. Es gibt Timeouts. Okay? Es bietet also etwas mehr Flexibilität im Vergleich zu Fetch hier. Okay? Sie können sehen, wie Bandbreitenlimits für Node Chair festgelegt werden. Automatische JSN-Behandlung in der Antwort, okay, HTML-Formulare als JASN posten alles. Nun, das ist standardmäßig nicht verfügbar. Sie müssen dieses Paket installieren. NPM hat Axis installiert. Okay? Wenn du BR benutzt, kannst du das nutzen. Also für NPM ist das ein Befehl für BoA, das ist ein Befehl, und für Yarn ist das ein Befehl, okay? Es gibt andere Möglichkeiten, es mit diesen Script-Tags hier zu verwenden Okay? Wenn Sie sich nun das Beispiel hier auf der linken Seite ansehen, wenn Sie auf diese Beispielschaltfläche klicken, werden Sie sehen, wie Sie es verwenden können. Okay? Sie können sehen, das ist der Code, um eine GET-Anfrage zu stellen und die Antwort zu bearbeiten , den Fehler abzufangen und schließlich auch zu haben. Okay, final wird immer ausgeführt, unabhängig davon , ob die Anfrage erfolgreich war oder nicht. Okay. Also das ist eine Demonstration hier drüben. Wir werden hier ein praktisches Beispiel für Axis ausprobieren und sehen, wie wir es in unserem Projekt verwenden können . Alles klar? Ich habe hier ein einfaches Projekt, okay, bei dem, was ich mache, ist, dass ich hier tatsächlich einen API-Aufruf mit Fetch Okay, ich gebe einen benutzerdefinierten Fehler aus, den ich deaktivieren werde. Also, wenn es keinen Fehler gibt, wirst du sehen, okay, also ich sehe hier immer noch einen Fehler. Also habe ich einen Hard Refresh und es hat tatsächlich funktioniert, okay? Also habe ich den benutzerdefinierten Fehler, den ich generiert habe, kommentiert , und das ist die Ausgabe. Sie können den Ladestatus also hier sehen , okay, wird geladen. Und wir kümmern uns hier um das Laden und die Fehler. Wenn es irgendeinen Fehler gibt, zeigen wir ihn an. Und wir verwalten all diese drei Datenladungen und Fehler mit Hilfe von Status, und wir verwenden hier Fetch, okay? Lassen Sie uns nun dieses Ding, ich würde sagen, in Axis transformieren ich würde sagen, in Axis Jetzt brauchen wir als Erstes Zugang zu einem Terminal, also gehen Sie rüber zum Terminal hier drüben. Okay. Dadurch erhalten Sie ein Terminal im aktuellen Arbeitsverzeichnis. Sie können also PWD eingeben und sehen, wo Sie sich befinden. Ich bin tatsächlich in meinem Projekt hier drüben. Okay. Ich sage klar. Und jetzt könnten Sie diesen Befehl hier sehen, wo es hieß: So könnten Sie Axis installieren. Ich kopiere diesen Befehl einfach , weil ich NPM verwende Und ich werde das hier rüberführen. Okay. Nun, das wird NPS hinzufügen Entschuldigung, dadurch wird meiner Bewerbung hier eine Achse hinzugefügt. Okay? Also wurde es erfolgreich hinzugefügt. Okay. Und was ich tun würde, ist, dass Sie das bestätigen können, indem zu Paket Punkt hasN hier drüben gehen, und ich werde dieses Terminal hier testen. Sie können sehen, dass die Achse als Abhängigkeit hinzugefügt wurde, okay? Also ja, das wurde getan und Axis ist jetzt für uns verfügbar. Nun, das Erste, wenn Sie Axis verwenden, müssen Sie es auch importieren. Also füge ich oben eine Importanweisung hinzu. Ich sage Achse importieren und es wird hier automatisch vorgeschlagen und automatisch vervollständigt Okay? Also holen wir uns diese Achsen-Instanz hier drüben. Nun, was wir tun müssen, ist, anstatt es abzurufen, wir werden das in eine Achse umwandeln, oder? Also anstatt hier drüben zu holen, okay? Ich sage Achse. Tot, komm her. Okay? Das ist was es ist. Okay? Ich sage dann Antwort. Und wenn das Beste da ist, konvertieren wir die Antwort in JCN Mit Axis müssen Sie das nicht tun. Okay, Sie erhalten die Antwort als JSN selbst. Wenn Sie also hierher kommen, werden Sie in der Antwort eine der Funktionen zur automatischen JCN-Datenverarbeitung sehen der Funktionen zur automatischen JCN-Datenverarbeitung , oder? Also das ist eine gute Sache. Also hier, dieser eine Schritt wird verschwinden, okay? Das wird hier verschwinden. Hier statt Chasin können wir diese beiden Antworten einfach hier umbenennen Ich könnte Antwort sagen, ungefähr so. Ich würde sagen, Daten festlegen. Festgelegte Daten sind Antwort. Nun, diese Antwort hat tatsächlich dass diese Antwort ein Objekt ist und dass sie ein Datenattribut hat. Sie müssen auf diese Weise darauf zugreifen, Antwortpunktdaten. Okay? Und Sie können tatsächlich auch ein Konsolenprotokoll für die Antwort erstellen und sehen, was es ausgibt. Ich mache das einfach. Konsolenprotokoll und Antwort hier. Okay. Wir werden in Kürze die Konsolenprotokolle überprüfen, okay? Aber so funktioniert es und Sie können Ladefalten festlegen. Sie haben einen Haken, bei dem Sie den Fehler finden, und der Rest ist hier gleich, okay? Und ja, ich denke, es sollte absolut gut funktionieren. Ich hebe mir das einfach auf und mache es hart oder frisch. Okay. Du siehst die Ausgabe. Wenn du jetzt zur Konsole gehst, sollten wir sehen, also lass mich zur Konsole gehen, lass mich ein bisschen rauszoomen. Okay. Okay. Also in Ordnung. Also, wenn du siehst, ob ich das erweitere, okay, kannst du sehen, wie das Objekt gedruckt wird, okay? Oder lass mich einfach auf Vollbild umschalten, okay, da drüben wäre es besser. Okay? Also das ist die Ausgabe hier drüben. Okay? Lass mich nachschauen. Sag jetzt Console. Jetzt können Sie sehen, wie das Objekt gedruckt wird. Nun, das ist das Objekt, okay, das wir bekommen. Das ist eigentlich ein Antwortobjekt, richtig? Und das hat Daten. Sie können diese Daten sehen. Wenn Sie also auf die Daten aus der API zugreifen möchten , die Sie haben, können Sie tatsächlich Antwortpunktdaten sagen. Okay, so wird es verwaltet, und Header sind im Grunde die Header , für die Sie einige Konfigurationsdaten haben Okay? Sie haben einige Informationen zu Ihrer Anfrage. Sie haben Status. Wenn Sie also auf den Status zugreifen möchten, wie lautet der Anfrage - oder Antwortstatus? Sie können den Status des Antwortpunkts sagen. Sie können es so handhaben. Okay? Also ja, das Ziel ist es, Ihnen zu zeigen, wie die Antwortdaten aussehen , wenn Sie Axis verwenden und Sie hier die Antwortpunktdaten verwenden müssen. Okay? Also ja, so kannst du anfangen, Axis zu benutzen. Und ich hoffe, das ist ziemlich klar. Sie können den Fehler auch auf diese Weise behandeln, wenn Sie, wie Sie sehen, beim Abrufen von Daten fehlschlagen möchten Sie sehen, beim Abrufen von Daten fehlschlagen möchten Und wenn Sie hierher kommen, okay, Sie werden einen Fehler beim Abrufen der Daten sehen, etwas ist schief gelaufen Okay? Das ist die Fehlermeldung , die wir übergeben haben. Okay? Du kannst sehen, dass etwas schief gelaufen ist, oder? So würden die Dinge also funktionieren. Ich werde das einfach auskommentieren , okay. Aber ja, das ist Achse für dich und ich hoffe, du weißt ziemlich genau, was Achse ist und wie du sie nutzen kannst. 8. Gleichzeitige Ausführung mehrerer GET-Anfragen: Fangen wir also an, darüber zu sprechen, wie Sie mehrere GET-Anfragen mit Achsen auslösen können , okay? Hier verwenden wir also Axis, um diesen Endpunkt auszulösen. Okay, das ist der Post-Endpunkt. Und wenn du herkommst, okay, das ist Jason Placeholder dotpco.com Und hier löse ich diesen ersten Endpunkt aus . Ich möchte einen weiteren Endpunkt auslösen, sagen wir Benutzer, ich öffne das in einem separaten Tab und Sie können sehen, dass dies die Daten sind, die ich abrufen sollte Okay, nehmen wir an, ich möchte auch diesen API-Aufruf auslösen . Wie würde ich das machen? Okay? Also hier drüben, was wir tun werden, ist hier, ich sage Axis Dot All statt Axis Dot Get, okay? Oder wir können den Achsenpunkt Get beibehalten und müssen diesen Get-Aufruf auf den Achsenpunkt O verschieben. Okay? Also Achsenpunkt O, so etwas in der Art. Achsenpunkt O akzeptiert nun ein Array, okay? Und ich schneide das hier drüben, schneide das. Und ich werde das in dieses Array hier drüben verschieben. Okay? Also lass mich das ein bisschen besser ausrichten. Okay. Lass mich das ausrichten. Nun, okay, wir haben das hier drüben. Okay. Und dann hast du dann hier drüben, was auch schon früh da war. Okay? Aber jetzt machst du diesen einzigen EPI-Anruf hier drüben. Was ich tun werde, ist , das zu kopieren. Ich füge hier ein Komma hinzu. Am Ende Ich füge einen weiteren EPI-Aufruf und kopiere diesen Benutzerendpunkt hierher und ersetze diesen zweiten Anruf durch den Benutzerendpunkt, etwa so Jetzt können Sie den Achsenpunkt O sehen. Ich zoome einfach ein bisschen heraus, Achsenpunkt O hier drüben, und wir führen zwei separate EPI-Aufrufe durch, wie Sie sehen können In Ordnung, ich werde das einfach verlängern. Also du kannst sehen, wie es läuft, okay? Also, was wir tun würden, ist , es damals zu tun, und ab und zu haben wir eine Antwort, okay? Jetzt müssen wir also eine Möglichkeit haben , die Antwort von beiden getrennt zu behandeln, okay? Und dafür werden wir die Achsenpunktverteilung verwenden. Sie können die Achsenpunktverteilung sehen. Okay? Was ist Achsenpunktspreizung? Also die Funktion der Achsenpunktverteilung. Spread ist also eine Funktion, mit Antworten getrennt behandelt werden können, okay? Jetzt können wir den Beitrag und die Benutzer als Parameter übergeben , um den Antworten der Endpunkte des Beitrags und der Benutzer getrennt zu entsprechen Antworten der Endpunkte des Beitrags . Lassen Sie mich Ihnen zeigen, wie Sie das machen können. Also hier statt Antwort werde ich die Antwort hier loswerden, und wir können hier drüben, Beitrag Okay, und Benutzer sehen . Okay? Das kannst du hier machen. Sie werden hier natürlich alle roten Markierungen sehen, weil Sie die Antwort verwenden und die Antwort nicht existiert Also nehme ich diesen Beitrag hierher und ersetze Antwort durch Beitrag, etwa so Ich sehe hier immer noch eine rote Markierung. Okay, ich habe verstanden. Also verteilt im Grunde, diese ganze Sache muss innerhalb von Spread sein. Okay? Also so etwas. Also, ja. Ich hoffe, das macht Sinn. Also hier, Spread nimmt die ganze Sache hierher, okay? Und hier drüben gibt es Beiträge und Nutzer. Okay? Post ist im Grunde die Antwort vom Beitrag, und Benutzer ist im Grunde die Antwort vom Endpunkt des Benutzers hier drüben. Okay? Und Spread lässt uns diese beiden getrennt behandeln, okay? Also logge ich mich hier in den Beitrag ein. Ich werde auch die Benutzerinformationen hier einloggen. Okay. Lass mich sagen Nutzer Okay, Nutzer. Lass mich das speichern. Sie können sehen, dass der Beitrag absolut einwandfrei funktioniert. Okay? Wirklich großartig. Ich gehe rüber zur Inspektion, oder lass mich diese Inspektion einfach beenden. Nicht hier drüben, aber ich werde diese Vollbildansicht haben und wir aktualisieren. Sie können sehen, wie der Beitrag angezeigt wird. Ich kann inspizieren, trösten. Sie können sehen, wie das Objekt viermal gedruckt wird, weil jedes Objekt aufgrund des strikten Modus zweimal gedruckt wird . Also hier sehen Sie diese Daten hier. Das sind die Post-Daten. Okay? Das ist das Erste, Daten posten. Und dann haben wir wieder die Postdaten. Okay, das sind also Benutzerdaten, wie Sie sehen können. Dies ist eine Benutzerinformation , die abgerufen wird. Das sind wieder die Post-Daten, 100 und das sind wieder die Benutzerinformationen, das sind zehn Benutzer, richtig? Also ja, so können Sie mehrere API-Aufrufe handhaben und damit arbeiten. Und das ist eine der Funktionen oder eine der Flexibilität, die Axis uns bietet. Okay? Sie haben diese beiden Daten. Was Sie tun können, ist, zu entscheiden, was Sie tun möchten. Sie können die postbezogenen Informationen in einem Bundesstaat speichern, und Sie können die benutzerbezogenen Informationen in einem anderen Bundesstaat speichern, und Sie können sie hier anzeigen. Sie können es auch auf der Benutzeroberfläche rendern. Okay? Aber ja, so weit, so gut, wir können mit Hilfe von Axis mehrere API-Aufrufe durchführen , und ich hoffe, das ist euch allen ziemlich klar. 9. Daten mit POST-Anforderungen in Axios senden: Jetzt ist es an der Zeit, dass wir darüber sprechen , wie Sie die POST-Anfrage in Ihrer React-Anwendung verwenden Und dafür, hier auf Jason, bitte warte, wenn du nach unten scrollst. Okay, hier findest du diesen EPI oder diesen Endpunkt hier, dem du eine Post-Anfrage stellen kannst Okay? Also auf Slash Post, wenn du eine Post-Anfrage stellst, okay, es würde sie akzeptieren Und hier haben Sie eine Anleitung als Anwendungsbeispiel. Also gehe ich zur Anleitung mit den Anwendungsbeispielen und scrolle hier nach unten. Okay, du kannst dieses Beispiel hier sehen, okay? Also eine Ressource erstellen, okay? Also, was es tun wird, ist, hier eine Postanfrage zu stellen. Sie können sehen, dass die Methode Post ist. Das ist der Hauptteil, den Sie einsenden, die Header, und so verwalten Sie die Antwort Nun, die Antwort, die Sie erhalten, okay, Sie werden bekommen, was Sie gesendet haben, zusammen mit der ID hier drüben. Hier drüben ist das eine gefälschte API, also wird die Ressource nicht wirklich auf dem Server aktualisiert, aber sie wird gefälscht sein, als ob Okay. Also was wir hier machen werden ist, dass ich herkomme. Okay. Und hier brauchen wir ein Formular. Also hier erstelle ich ein Formular, ich sage Formular, so etwas, und Formular wird nichts haben. Ich werde nur eine Schaltfläche haben , die einfach eine Post-Anfrage auslöst. Also sage ich Button-Typ, ich sage hier Senden. Okay, und ich sage Beitrag hinzufügen, etwa so. Okay? Du hast diesen Knopf hier, okay? jetzt darauf klicken, möchten wir, dass die Post-Anfrage ausgelöst wird. Okay? Also ich sage hier bei einreichen auf einreichen. Jetzt muss ich eine Funktion hinzufügen. Ich muss das mit einer Funktion verknüpfen, also sage ich Handle, Submit. Okay. Das gibt es noch nicht. Natürlich müssen wir das schaffen, oder? Also hier drüben, was ich tun werde, ist diese Funktion const on submit zu erstellen Okay? Also sage ich Const bei Submit Etwas wie das hier. Oh, tut mir leid, nicht abschicken, abschicken. Es steht nicht auf Absenden, Handle Abschicken, so etwas in der Art. Ich sage Event. Also wird es das Ereignis hier akzeptieren, und ich habe diese Funktionsdefinition hier drüben, ungefähr so. Okay. Okay, jetzt brauche ich die Logik hier drüben, um die Post-Anfrage grundsätzlich zu bearbeiten Okay? Also, was ich tun werde, ist zuerst einen neuen Beitrag zu erstellen, okay? Nun, die Daten, die ich senden muss, sind Titeltext und Benutzer-ID. Das muss ich senden, oder? Also kopiere ich das und komme her, okay. Und hier drüben sage ich const, neuer Beitrag, und ich lasse einen Beitrag erstellen, ungefähr so. Okay? Okay. Ich werde das auf mehreren Zeilen belassen. Das ist absolut okay. Okay, so etwas. Okay, das ist also der Beitrag. Das würde ich sagen. Das ist das Objekt, das ich posten möchte, oder? Der Titel ist also fu, Hauptteil ist bar und die Benutzer-ID ist eins. Okay? Also, was wir hier machen können, ist, dass ich, nachdem das erstellt wurde, eine Achse verwenden werde. Also füge ich eine Achse hinzu und Sie können sehen, wie die Import-Anweisung oben hinzugefügt wird Also werden wir Achsen verwenden. Ich sage Axis Dot Post. Okay. Und Post ist eine Methode , die wir verwenden werden. Ich muss die URL hier eingeben und dann muss ich sie verwenden , um die Antwort zu bearbeiten. Ups. Also dann, um mit der Antwort umzugehen, so etwas Okay. Also hier drüben würde ich das Okay brauchen, ich muss das auch hier schließen. Okay. Und ich werde diese offene Klammer loswerden. Okay, Klammer schließen. Also muss ich innerhalb des Beitrags die URL und das neue Post-Objekt übergeben . Also werde ich herkommen. Das ist das neue Post-Objekt. Okay. Also werde ich das hier erwähnen. Und am Ende sage ich Komma neuer Beitrag. Das ist also das Objekt, das ich übergebe. Okay, so etwas in der Art. Lass mich damit im Vollbildmodus arbeiten. Ordnung. Ich gehe einfach in Vollbildmodus, damit du alles siehst. Okay. Sie können den Achsenpunkt hier drüben sehen, und ich übergebe das neue Post-Objekt zusammen mit diesem. Und jetzt, in der Zeit von damals, brauche ich Antwort, okay, Pfeilfunktion. Und hier drüben muss ich mich jetzt um die Antwort kümmern. Okay? Wie gehe ich mit der Antwort um? Ich sage hier einfach Console Dot Log, okay? Und ich sage, neuer Beitrag hinzugefügt. So etwas, und ich sage einfach Antwortpunktdaten. Okay? Wie. Okay, dann sage ich Daten festlegen, ups Okay, festgelegte Daten existieren also nicht. Wir müssen hier einen Bundesstaat hinzufügen. Okay? Also was ich tun werde, ist konstante Daten und ich sage feste Daten Ich werde Use State hier benutzen. Okay. Und was wir hier tun werden, ist Set Data zu nennen , ungefähr so. Und hier drüben sage ich Antwort. Punktdaten und Komma und ich destrukturiere Daten, ungefähr so. In Ordnung Also das ist erledigt, denke ich, Ordnung. Keine Probleme als solche. Und ja, Handle Submit ist auch damit verknüpft. Okay. Lassen Sie mich das jetzt minimieren. Und hier mache ich eine Aktualisierung, eine schnelle Aktualisierung. Wir werden auch die Konsole öffnen, um zu sehen, welche Ausgabe wir erhalten. Und ich sage hier Beitrag hinzufügen. Okay. In dem Moment, in dem ich bei der Post sage , uups, sehe ich nichts Okay, also muss ich auch E Punkt sagen, Prevent Default, Prevent Default Also muss ich das sagen, und jetzt lass uns das versuchen. Okay. Also sage ich Werbepost. Ups Es heißt also, dass Daten nicht iterierbar sind. Ich erhalte auch hier in Zeile 16 eine Fehlermeldung. Okay? Also das Problem sind Antwortpunktdaten, und ich destrukturiere die Daten Okay? Also das ist ein Fehler und Fehler ist uncodiert. Daten sind nicht durchführbar. Also was ich tun würde, ist dieses Ding hier los zu machen, das hier. Okay. Und ich werde das speichern. Lass mich eine Auffrischung machen. Okay. Also habe ich diesen Teil hier drüben losgeworden. Okay. Das ist jetzt ziemlich einfach. Ich sage Beitrag hinzufügen und du kannst sehen, okay, der Beitrag wird hinzugefügt und welcher Beitrag hinzugefügt wird, der auch hier angezeigt wird. Ordnung. Also ja, so würde eine Post-Anfrage funktionieren, wenn Sie mit Axis arbeiten. Okay? Es ist ziemlich einfach. Ich gehe einfach in den Vollbildmodus , damit Sie eine bessere Ansicht haben. Ich zoome einfach ein bisschen rein. Okay. Wir nutzen es. Hier liegt der Knackpunkt, okay? Sie sagen also Axis Dot Post, geben die URL und das Objekt an, das Sie posten möchten Okay? Und dann haben Sie die Bearbeitung hier und Sie kümmern sich um die Antwort, die Sie erhalten. Ordnung. Also ja, das ist ungefähr die Post-Anfrage mit Axis. Ich hoffe, das war nützlich und ich hoffe, Sie konnten mitmachen. 10. API-Sicherheit mit Axios Interceptors optimieren: Jetzt ist es an der Zeit, über Interzeptoren zu sprechen und Hier drüben habe ich bereits ein Beispiel geschrieben, dem ich diesen Header und eine Schaltfläche zum Hinzufügen eines Beitrags habe , okay? Und wenn ich auf Beitrag hinzufügen klicke, wird eine Post-Anfrage an einen Remote-Server gesendet, und Sie können sehen, wie die Daten in der Konsole veröffentlicht werden. Nach der erfolgreichen Antwort auf die Post-Anfrage, okay? Und Sie werden sehen, dass dies mehrmals passiert. Okay. Wir verwenden hier diese gefälschte API, bei der sich um einen Jason-Platzhalter handelt, und wenn Sie nach unten scrollen, verwende ich die Post-API hier drüben. Das ist einer, okay? Kommen wir zurück zum Code hier drüben, okay? Das ist die Codebasis. Nun, was sind Interzeptoren und warum brauchst du sie? Okay? Nun, Interzeptoren sind eine Sache mit Achsen , die es Ihnen ermöglichen, benutzerdefinierten Code auszuführen oder die Anfrage abzufangen, bevor sie bearbeitet oder abgefangen wird Ich hoffe, das macht Sinn. Interzeptoren sind also nichts anderes, als dass Sie die Anfrage abfangen können, bevor sie bis dahin akzeptiert werden, oder sie fangen Also, warum würdest du das tun wollen? Vielleicht möchten Sie also einen benutzerdefinierten Code haben, der ausgeführt wird, bevor eine Anfrage gesendet wird oder nachdem eine Antwort eingegangen ist. Okay? Nun, benutzerdefinierter Code könnte Dinge wie das Hinzufügen von Authentifizierungstoken oder etwas Ähnlichem beinhalten, okay? In diesem Fall kommt dann dieses Konzept der Interzeptoren ins Spiel, oder? Lassen Sie mich Ihnen zeigen, wie Sie es nutzen können Okay? Also, sagen wir mal, hier oben habe ich einen Abfangjäger Ich sage Axis tot, ich sage Abfangjäger. Sie können den Properties Interceptor sehen und Sie haben Request Okay? Also hast du hier etwas zu gebrauchen, okay? Also, im Rahmen des Gebrauchs, was Sie tun würden, ist, was wir verwenden werden. Hier drüben werde ich die Pfeilfunktion haben. Ich werde Anfrage sagen. Okay? Für jede Anfrage gibst du mir ein Konsolenprotokoll, okay? Das Konsolenprotokoll sollte die Startanfrage sein, okay? Etwas wie das hier. Okay. Jetzt werde ich das speichern, okay? Jetzt, wenn ich herkomme, wenn ich die Konsole öffne, lass mich die Konsole leeren. Lassen Sie mich einen Refresh machen. Okay. Wenn ich jetzt Beitrag hinzufügen sage, siehst du die Startanfrage. Ups, hier ist ein Fehler aufgetreten. Okay? Im Versprechen steht „uncaught“, Tippfehler, okay? Also habe ich den Fehler bekommen. Der Fehler ist, dass wir die Anfrage hier zurückgeben müssen. Okay? Das ist ein Fehler, den ich gemacht habe. Wenn du hierher kommst, wenn du aktualisierst, löschst und wenn ich bei Beitrag sage, wirst du sehen, dass Startanfrage neuer Beitrag hinzugefügt wurde, okay? Denken Sie also daran, das hier zurückzugeben. Okay? Also ja, das wird abgefangen und bei jeder Anfrage hier gedruckt. kannst du sehen. Bei jeder Anfrage siehst du die Startanfrage, oder? Sie haben Zugriff auf das Anforderungsobjekt, das Sie hier ausdrucken können. Also ich kann hier Anfrage sagen. Okay. Wenn ich hierher komme, aktualisiere ich, wenn ich Beitrag hinzufügen sage, können Sie sehen, dass ich Zugriff auf das gesamte Anforderungsobjekt hier habe . Ich kann jede Art von benutzerdefinierten Headern hinzufügen oder entfernen , die ich möchte Okay? Also ich kann sagen, Punkt-Header anfordern, ich kann es auf diese Weise verwenden und ich kann es anpassen Ich kann hinzufügen, ich kann jede Art von Token hinzufügen. Also, wenn zum Beispiel irgendeine Art von Anfrage authentifiziert ist, richtig, und Sie müssen möglicherweise das Token aus dem lokalen Speicher übergeben , oder? Egal, wo Sie Axis verwenden, es wäre wirklich umständlich, das zu tun, oder? Sie können also einen Interceptor definieren lassen. Weltweit. Und wann immer eine Anfrage an den Server ausgelöst wird, können Sie hier eine Logik haben, bei der Sie zum lokalen Speicher gehen, das Token abrufen, das Sie an den Server übergeben möchten , und es hier formatieren und zum Header hinzufügen können. Sie können also Punkt-Header für Anfragen setzen, das Token hinzufügen und es dort behalten Was also passieren würde, ist, dass bei jeder Anfrage das Token hinzugefügt wird, weil das die Standardeinstellung ist, oder? Server braucht es. Sie müssen diesen Code also nicht überall replizieren So hilft es, okay? Und das ist ein Request-Interceptor. Ich habe einen Response Interceptor , den ich dir auch zeigen möchte Okay? Also Achsenabfangjäger, Punkt, das wäre Antwort, wenn du das richtig rätst Du musst hier benutzen sagen. Ups, wir sagen nutzen und wir werden das nutzen , okay? Und hier wirst du die Antwort sehen, und du kannst so etwas haben Sie werden hier ein Konsolenprotokoll erstellen. Okay. Du kannst Antwort sagen. Okay. Hoppla. Und hier drüben kannst du Antwort sagen So wie es ist. Okay. Und hier drüben, Antwort zurückgeben. Etwas W. In Ordnung. Also das gilt für jede Antwort, Sie haben auch Zugriff auf die Antwort. Okay? Also lass mich das mal auffrischen. Klar. Ich sage Beitrag hinzufügen. Sie können die Startanfrage sehen. Sie haben das Anforderungsobjekt, die Antwort, Sie haben die Antwortdaten, und dann sehen Sie, wie dies gedruckt wird. Nun, woher wird das gedruckt? Das wird von da an hier gedruckt. kannst du sehen. Also dieses Ding wurde am Ende ausgeführt. Okay? Was heißt das, ist? Das bedeutet, dass der Interceptor immer zuerst aufgerufen wird, wenn die Antwort empfangen wird, und dann werden die Daten bis dahin verarbeitet kannst du hier sehen. Dieser Teil wird also immer zuerst ausgeführt, wenn die Antwort empfangen wird, und dieser Teil wird ausgeführt bevor die Daten an den Server gesendet werden. Okay? Also ich hoffe, das Konzept von Interceptor ist klar und ich hoffe, Sie haben ein gutes Verständnis dafür , wie das funktioniert Sie können damit herumspielen und sich die abgefangenen Daten ansehen , und ich hoffe, das 11. Benutzerdefinierte Axios-Instanzen für eine bessere Kontrolle erstellen: Hallo, da. Jetzt ist es an der Zeit, dass wir über die benutzerdefinierte Achseninstanz sprechen. Was ist nun eine benutzerdefinierte Achseninstanz? Also hier benutzen wir Axis, okay? Aber mit Axis können Sie eine benutzerdefinierte Zugriffsinstanz erstellen, die eine vorkonfigurierte Version von Axis für Ihre Anwendung ist vorkonfigurierte Version von Axis für Ihre Anwendung Und wenn Sie es erstellen, können Sie Standardoptionen wie Basis-URL-Header, jede Art von Standard-Headern, die Sie benötigen, jede Art von Timeout-Einstellungen festlegen, die die Anfrage in Ihrer Anwendung haben soll All diese globalen Konfigurationen können Sie also mit der benutzerdefinierten Achseninstanz und jedem API-Aufruf , den die gesamte Anwendung über alle Komponenten hinweg tätigen wird, diese benutzerdefinierte Achseninstanz verwenden, Lassen Sie mich Ihnen zum Beispiel ein Szenario geben. Also hier hast du diese Postanfrage. Ich habe vielleicht noch eine Get-Anfrage hier in derselben Komponente. Jetzt habe ich vielleicht Tausende von Komponenten, oder? Hunderte von Komponenten, sagen wir , in diesem speziellen Fall, sagen wir, mindestens 50 Komponenten haben API-Aufrufe. Stimmt das? Also, wenn sie EPI-Anrufe haben, wirst du die ganze URL da drüben wiederholen Okay? Das ist nicht gut, okay, denn wenn sich morgen die Server-URL ändert, ist das nicht gut. Wenn sich irgendein Parameter ändert, okay, du musst Änderungen in allen Dateien dort drüben vornehmen. Okay? Es ist besser, den gesamten allgemeinen konfigurationsbezogenen Code in einer Datei zu haben , sodass Sie, falls es irgendwelche Änderungen gibt, ihn an einer Stelle ändern können, und dann ist es alles, was er durchläuft, oder? Hier kommt also die benutzerdefinierte Zugriffsinstanz ins Spiel. Um also eine benutzerdefinierte Zugriffsinstanz zu erstellen, werde ich Ihnen zeigen, wie das funktionieren wird, okay? Also hier machen wir einen Post-EPI. Was wir tun können, ist const API zu sagen. Sie können das alles nennen, was Sie wollen, aber ich nenne es gerne API Du kannst hier Axis Dot, Create sagen. Okay? erstellen wir die benutzerdefinierte Achseninstanz, und darin können Sie die gesamte Konfiguration definieren. Alles klar? Also, was für eine Konfiguration können Sie hier haben. Okay? Also, hier für diese Sache, was ich tun kann, ist, dass ich das besorgen kann. Ich habe das herausgeschnitten und hier drüben sage ich p URL. Sie können die PaceRL sehen. Du kannst Doppelpunkt sagen, ich kann hier eine PRL hinzufügen, etwa so Okay? Hoppla. Also nicht hinterhältig, ich nehme das Okay. Dies ist die Basis-URL für alle API-Anfragen. Okay? Dann kann ich hier Überschriften haben. Sie können diese Header-Eigenschaft sehen. Ich kann in Headern sagen, ich möchte, dass die Standard-Header hier so sind wie alle Standard-Header, die Sie haben können Nehmen wir an, ich möchte hier eine Autorisierung haben, okay, und ich möchte, sagen wir, einen Träger haben und du kannst hier ein paar Token hinzufügen, okay? Welches Token Sie auch haben, Sie können es hinzufügen. Okay, und gesendet wurde es zusammen mit der API gesendet, okay? Sie haben das definiert. Wie nutzen Sie das? Okay? Also was Sie tun können, ist hier, anstatt Axis Dot Post hier zu verwenden, Sie können API sagen, so etwas, API Dot Post, und das wird funktionieren, es wird das als BCRL verwenden und es wird sicherstellen, dass diese Header vorhanden sind, zum vorhanden sind, Wenn ich das speichere und wenn du hierher kommst, okay, ich habe diese Anwendung betriebsbereit Okay, du hast diesen Button hier drüben , der eine Post-Anfrage auslöst. Wenn ich jetzt Beitrag hinzufügen sage, okay, du kannst sehen, dass ein neuer Beitrag hinzugefügt wird. Ordnung. Also ich sehe nicht, dass das funktioniert gut, aber ich sehe nicht, dass die Anfrage hier gedruckt wird. Okay? Also das ist etwas , das ich drucken kann. Okay? Lass mich das auch ausdrucken, okay? Also, damit die Anfrage gedruckt wird, füge ich hier Intercept hinzu, okay? Also fügen wir auf diese Weise Interzeptoren hinzu, Achse, Interzeptoren, Punktanforderung, Tt use hier, ungefähr so Okay? So fügt man normalerweise Interzeptoren hinzu Okay. Aber da wir eine benutzerdefinierte Achseninstanz verwenden , können Sie anstelle von Axis hier API Dot Interceptors sagen Okay? Das wirst du tun. In Ordnung. Und hier, du wirst hier Anfrage sagen. Okay. Und hier drüben musst du die Anfrage ausdrucken. Hier drüben sage ich Console Dot Log. Ich sage Startanfrage. Okay. Anfrage starten. Hier drüben. Und Sie können das Anforderungsobjekt hier hinzufügen , etwa so. Okay? Das ist erledigt. Wenn du jetzt herkommst, okay, lass mich eine Auffrischung machen. Wenn ich sage, Beitrag hinzufügen, Hoppla, dann kenne ich diesen Fehler Ordnung. Ich muss die Anfrage auch zurückschicken, okay? Anfrage zurücksenden. Okay. Jetzt sollte es gut funktionieren. Eine Auffrischung des Feuers. Wenn ich Werbepost sage, siehst du, dass die Anfrage gedruckt wird. Wenn Sie das nun erweitern, sollten Sie sehen, dass es beim Senden der Anfrage einen Autorisierungsheader gibt. Dies ist der Autorisierungsheader, den wir über die benutzerdefinierte Achseninstanz hier hinzugefügt haben, wird hinzugefügt und an den Server gesendet. Sie können hier jede Art von Logik verwenden, in der Sie, Sie wissen schon, irgendeine Art von Token abrufen und all das, Sie können das anzeigen, okay? Das ist also in gewisser Weise wirklich hilfreich, oder? Und ja, das ist es. So können Sie tatsächlich so eine haben Konfiguration haben, die von Ihrem Code getrennt ist. Jetzt möchte ich etwas näher erläutern, wann Sie eine benutzerdefinierte Achseninstanz verwenden sollten und wann Sie Interzeptoren verwenden sollten, okay Nehmen wir an, wenn Sie Token einsenden, okay, Sie können auch hier in der benutzerdefinierten Achseninstanz eine Token-Konfiguration hinzufügen, und Sie können auch hier im Interceptor ein Token Wann immer eine Anfrage an den Server gesendet wird, kurz bevor sie gesendet wird, können Sie hier ein Token hinzufügen Okay? Also, wann sollte man welche Methode verwenden, richtig? Nun, wenn Ihr Token oder Ihre Konfiguration statisch ist, jede Art von Konfiguration, die statisch ist , okay, und sie erfordert keine Änderung, dann können Sie diese Konfiguration hier zur benutzerdefinierten Achseninstanz hinzufügen . Okay? Zum Beispiel haben Sie vielleicht eine Code oder Sie haben eine Art Header , den Sie hier vielleicht übergeben möchten , wo Inhaltstyp steht. Okay, du kannst hier also Inhaltstyp sagen. Also dieser Inhaltstyp-Header, okay, das bedeutet Anwendungs-JSN Okay. Also diese Art von Headern, die im Grunde genommen statisch sind, können in die benutzerdefinierte Zugriffsinstanz aufgenommen Es gibt jedoch Anforderungen bei denen Sie möglicherweise dynamische Header haben Was ich mit dynamischen Headern meine, ist, sagen wir, Sie möchten einen Header hinzufügen, okay, der das Token enthält, das aus dem lokalen Speicher abgerufen wird Jetzt wird das lokale Speichertoken möglicherweise von Zeit zu Zeit aktualisiert Es könnte ein Ablaufdatum haben. Es ist nicht statisch. Es ist vielleicht nicht statisch, okay? In diesem Fall, kurz bevor die Anfrage gesendet wird, möchten Sie vielleicht, dass ein Code ausgeführt wird, um zu überprüfen, was ein Token ist, dieses Token zu erhalten und es zusammen mit der Anfrage zu senden, okay? In diesem Szenario werden Sie also Header verwenden, die im Interceptor hinzugefügt werden , da dies nicht statisch ist Das ist dynamisch, oder? Und kurz bevor die Anfrage gesendet wird, möchten Sie, dass der Token-Check durchgeführt wird, okay? Hier könnten also die Interceptoren zum Einsatz kommen, oder? Automatische Fehlerbehandlung. Interzeptoren eignen sich also hervorragend für die globale Bearbeitung von Antworten auf Fehler. Okay? Also, wenn Ihre Antwort EPI darauf hinweist, dass ein Token abgelaufen ist, zum Beispiel 401 Unauthorized Ein Interceptor kann das Aktualisierungstoken automatisch erhalten. Okay, ich sollte den Code haben, um das Token automatisch zu aktualisieren und die Anfrage erneut zu versuchen Also hier haben wir den Request Interceptor. Sie können einen Antwort-Interceptor haben, mit dem Sie überprüfen können, ob der Wenn es 401 war, haben Sie einfach den Code zum Aktualisieren des Tokens und Okay. Also das ist etwas, was du mit der benutzerdefinierten Achseninstanz hier nicht machen kannst, oder? Weil das statisch ist, oder? Und ja, das ist der Unterschied zwischen der benutzerdefinierten Achseninstanz und dem Interceptor-Konzept Okay? Es mag so aussehen, als ob viele meiner Schüler das Gefühl haben sich das Konzept überschneidet, aber beide sind unterschiedlich. Das versuche ich hervorzuheben. Ordnung? Also ich hoffe, das war aufschlussreich und ich hoffe, Sie konnten es verfolgen In Ordnung, ich werde euch alle so sehen. 12. Benutzerdefinierte Axios-Instanzen mit Interceptors aufwerten: Jetzt würden wir diese benutzerdefinierte Achseninstanz weiterentwickeln diese benutzerdefinierte Okay? Und was ich tun würde, ist, das zunächst in eine separate Datei zu verschieben. Okay? Dieser Code kann also etwas komplex werden. Also, was ich tun würde, ist, das hier drüben zu schneiden. Ich würde zu meiner Projektstruktur kommen und hier einen Ordner erstellen. Ich würde diesen Ordner so nennen, wie Sie diesen Ordner als API aufrufen können. Du kannst das als Utils bezeichnen, so ähnlich. Okay. Und hier drüben kannst du Api Dot Has haben. Und hier können Sie den ganzen Code einfügen. Okay. Also das wird hier benötigt, Achse importieren. Das ist also etwas, das ich hier in dieser Datei verschieben werde . Okay. Und wir müssen die API exportieren. Also sage ich Export oder Standard und ich sage hier API. Okay, so etwas. In Ordnung. Das ist erledigt. Okay, API wird exportiert. Und jetzt, wo wir hier sind, müssen wir diese API eingeben. Also kann ich das eingeben. Okay. Du kannst die Utils-API sehen, okay? Okay, aus irgendeinem Grund gefällt mir dieser Utils-Ordnername nicht, also ändere ich ihn einfach auch in API Okay. Und ich werde die Eingaben aktualisieren, richtig? Also ja, jetzt sieht es gut aus. Also, ich habe diesen EPI-Ordner, in dem ich meine vergangenen Js organisiert habe Und was ist Pi Dot Gs? Es besteht aus der gesamten Konfiguration zusammen mit Interzeptoren für die benutzerdefinierte Achseninstanz hier drüben Okay? Und du kannst es benutzen, wo immer du willst. Okay? Also so benutzen wir es. Und wenn du herkommst und ich aktualisiere, okay, wenn du bei Post sagst, wirst du sehen, dass es absolut gut funktioniert. Okay, das hat unseren Code ein bisschen modularer gemacht . Richtig. Was wir jetzt tun können, ist, das hier zu verbessern. Okay? Also geben wir diesen Header weiter. Okay. Ich werde dieses Token-Ding hier loswerden. Okay. Nehmen wir an, wir haben hier das Konzept des dynamischen Tokens, oder? Was wir also tun können, ist hier drüben, ich habe diese Anfrage. Okay? Ich nehme das. Und hier kann ich eine weitere Funktion hinzufügen. Ich kann Cfico sagen, so etwas, und ich füge eine Pfeilfunktion wie diese füge eine Pfeilfunktion wie Okay. Und hier drüben kann ich Const Token sagen Okay. Ich kann das Token, lokalen Speicher, Punkt Artikel abrufen. Ich erhalte das Token aus meinem lokalen Speicher, also sage ich hier Token. Okay. Und dann kann ich tatsächlich sagen, wenn ein Token gefunden wurde, wenn ein Token gefunden wurde, was würden Sie dann tun? Du würdest also Config Tot Headers sagen. Sie können es also Config oder Request nennen. Das ist absolut in Ordnung. Also hier nenne ich es eine Anfrage, also nenne ich es hier als Konfiguration. Okay? Also ich sage Config Dot Headers Dot Authorization Sitzung, o ist gleich. Ich kann ein Pairer-Token hinzufügen. Damit ich pairero sagen kann, muss ich es in diesem Format hinzufügen. Ich kann Token sagen. Etwas wie das hier. Ordnung. Also wird das Token nur hinzugefügt wenn das Token gefunden wird, oder? Wenn das Token nicht im lokalen Speicher gefunden wird, wird es beibehalten. Okay. Also das wäre erledigt. Und wenn du herkommst, okay? Also untätig, das Token wird nicht hinzugefügt weil es momentan keinen lokalen Speicher gibt, okay? Also ist es keine Kunst, oder? Es ist nicht schwer in den Headern. Lass uns sehen Es ist kein Hinzufügen. Sie können es sehen, weil ich momentan nichts im lokalen Speicher für diese Anwendung gespeichert habe. Aber wenn Sie es haben, wenn Sie es speichern, dann bekommen Sie das und können es hierher schicken. Okay? Jetzt hier drüben, das ist erledigt. Was ich tun kann, ist, dass ich sogar damit umgehen kann, ich hier sogar eine Art Fehlerbehandlung hinzufügen. Ich kann also Fehler sagen. So etwas, und ich kann sagen, Hoppla, also kann ich Console Dot Error sagen Okay. Und hier drüben kann ich sagen: Fehler bei der Anfrage, Fehler bei der Anfrage und bei uns können Sie Fehler sagen. Ordnung. Und du kannst sagen , versprochen, nicht zurückweisen. Ich bearbeite die Fehler, ich lehne die Anfrage ab. Oh, okay. Ich sage Fehler. Okay, so etwas. Okay. Ich behandle den Anforderungsfehler damit, okay. Und das ist eine Möglichkeit, okay. Dann können Sie sogar den Response Interceptor hinzufügen. Bis hier dreht sich alles um den Request-Interceptor. Was ich hier tun kann, ist EPI Dot Response zu sagen . Oh, 1 Sekunde Pi-Punkt-Interzeptoren Punkt-Antwort, P-Punkt-Interzeptoren Punkt-Antwort, Punkt U. Das ist In Ordnung. Und jetzt müssen wir die Pfeilfunktion hinzufügen. Also, ich würde sagen , Antwort, ungefähr so. Okay. Und du kannst hier eine Art von Handhabung hinzufügen. Okay? Nun, was wir hinzufügen würden, ist, dass wir sagen können , wenn die Antwort erfolgreich ist, würden wir einfach die Daten zurückgeben. Also antworte ich und gebe dann die Daten zurück, richtig? Also sagen wir: Okay, ich antworte, das ist schon geschrieben. Also wenn Antwort, dann Antwort zurückgeben. Okay, ich füge hier also keine Logik hinzu. Sie können im Grunde Ihre eigene Logik haben. Aber so würdest du hier drüben damit umgehen . Das ist der Zweck, okay? Das heißt, du kannst hier nach der Antwort suchen und dann Tita zurückgeben. Okay? Sie geben die Antwort also im Wesentlichen zurück. Okay? Falls es einen Fehler gibt, wie würdest du damit umgehen? Okay. Also hier drüben, du kannst einfach kommen und sagen, okay, lass mich hier einen Tab hinzufügen. Okay. Und jetzt kannst du hier drüben sagen, Fehler. Okay. Also das ist ein Fehler, und dann kannst du so etwas sagen. Und hier drüben kannst du sagen, ob ich Fehler, Punkt, Antwort sagen kann. Okay. Deshalb suche ich weltweit nach dem Ablauf des Tokens und anderen Fehlern. Okay? Also ich kann hier Fehler, Punkt, Antwort, Punktstatus sagen. Ups, Status hier drüben. Und wenn es 401 ist, okay, du kannst hier jede Art von, du weißt schon, jede Art von Behandlung hinzufügen . Sie können Console Dot Error sagen, etwas Ähnliches, und Sie können Unautorisiert sagen. So etwas in der Art. Okay. Sie können es hier regeln und Sie können auch die Wiederholungslogik hinzufügen auch die Wiederholungslogik je nachdem, welche Art von Fehlern Sie erhalten Okay. Wenn du einen Fehler von 500 bekommst, okay, interner Serverfehler oder so, dann kannst du hier noch einen hinzufügen und noch einen Check sagen. Du kannst sagen, ob der Fehler 500 ist. Okay, dann kannst du Serverfehler sagen. Also im Grunde mache ich hier nur ein Protokoll, aber du kannst damit umgehen, wie du willst, okay? Ich füge Semikolons hinzu Okay, und ich füge hier runde Klammern hinzu. Okay. Also ich denke, das ist ziemlich klar, wie das hier helfen kann. Okay. Und wenn das erledigt ist, okay, die ganze Sache erledigt ist, kann ich hier drüben das Rückgabeversprechen genau prüfen und ich kann Fehler sagen. Ordnung. Sie lehnen also grundsätzlich andere Fehler Ordnung. Also ja, so können Sie die benutzerdefinierte Achseninstanz weiterentwickeln . Und das kann die benutzerdefinierte API sein, die die benutzerdefinierten Pits hat, die die globale Konfiguration für die API-Anfragen hat, die Sie ausführen, einschließlich der BaseURLs Wenn Sie also die Basis-URLs aus der ENV-Datei beziehen, können Sie diese Logik auch hier haben, Und Sie können es getrennt von der ENV-Datei verwalten. Okay? Morgen Header, falls neue Header hinzugefügt werden, okay Denken Sie also daran, dass Sie hier die URL nicht fest codieren, Sie codieren die Header nicht fest Sie nutzen nur die API und die gesamte Logik, die sich auf die Komponente bezieht , die hier drüben ist, okay? Nur die Logik, die sich auf die Komponente bezieht , ist hier drüben, sonst nichts. Wenn sich morgen etwas an der API ändert, falls irgendwelche Header benötigt werden, musst du die Änderung einfach an einer Stelle vornehmen, okay? In diesem Fall wird dieser Pi Dot JS an allen Stellen verwendet Wenn Sie also morgen 50 Komponenten haben, wird dies in 50 Komponenten verwendet werden. Sie müssen also keine Änderungen an den 50 Komponenten vornehmen, Sie kümmern sich nur einmal darum und schon ist alles erledigt. Okay. Also ja, so funktioniert das. Und ich hoffe Sie finden den Nutzen davon hier drüben. Ordnung. Also ja , es geht um diese benutzerdefinierten Achseninstinkte und Interzeptoren, wie man sie zusammenführen und mit ihnen arbeiten kann Und ich hoffe, du fandest das nützlich. 13. Schlussbemerkung zum Kurs: Und damit sind wir am Ende dieser transformativen Reise in die Welt der EPI-Integration in React angelangt Nun, wir haben untersucht, wie die Integration von APIs in Ihre Anwendung die Entwicklung dynamischer datengesteuerter Anwendungen entscheidend verändern kann Entwicklung dynamischer datengesteuerter Wir befassen uns mit den Grundlagen der Durchführung von API-Aufrufen, Ladevorgängen und Fehlern und Verbesserung der Sicherheit durch die Integration von benutzerdefinierten Zugriffsinstanzen und Integration von benutzerdefinierten Zugriffsinstanzen Wir haben auch gelernt und untersucht, wie Sie mehrere API-Aufrufe gleichzeitig tätigen können, und Sie haben nun die Fähigkeiten erworben, die Sie benötigen, um Ihre React-Projekte voranzutreiben. Aber denken Sie daran, dass die Erkundung hier nicht endet. Ich möchte Sie ermutigen, weiter zu experimentieren, erforschen und die Grenzen dessen, was mit EPIs in Ihrer React-Anwendung möglich ist Ich freue mich darauf zu sehen, wie Sie diese Fähigkeiten und Kenntnisse, die Sie erworben haben, nutzen werden , um Ihre Webentwicklungsprojekte voranzutreiben Denken Sie daran, dass es bei Innovation vor allem darum geht, neue Techniken und Technologien zu nutzen, und die EPI-Integration oder die Arbeit mit EPIs ist ein wichtiger Bestandteil Ihres Vielen Dank, dass Sie eine so engagierte und begeisterte Ich hoffe, dieser Kurs hat Sie nicht nur mit neuen technischen Fähigkeiten ausgestattet, sondern Sie auch dazu inspiriert kreativ über die Entwicklung robuster Webanwendungen nachzudenken In diesem Kurs findest du ein Klassenprojekt, das ich dir empfehlen möchte zu vervollständigen und im Projektbereich mit der gesamten Klasse zu teilen Projektbereich mit der gesamten Klasse Ich wünsche dir viel Glück und alles Gute.