React+axios implementiert die Suchbenutzerfunktion von GitHub (Beispielcode)

React+axios implementiert die Suchbenutzerfunktion von GitHub (Beispielcode)

Bildbeschreibung hier einfügen

laden

Bildbeschreibung hier einfügen

Anforderung erfolgreich

Bildbeschreibung hier einfügen

Anforderung fehlgeschlagen

Bildbeschreibung hier einfügen

Klicken Sie auf cmd und drücken Sie im Dateipfad die Eingabetaste

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Starten Sie zunächst den Server mit npm start

Bildbeschreibung hier einfügen

app.js

importiere React, {Komponente} von 'react'
importiere "./App.css"
Header aus „./commons/Header“ importieren
Liste aus „./commons/List“ importieren
exportiere Standardklasse App erweitert Komponente {
  // Status initialisieren
  Zustand={
    Benutzer:[],
    wird geladen:false,
    ist zuerst: wahr,
    ähm:''

  }
  update=(Aktualisierungsnachricht)=>{
     dies.setState(
      Aktualisierungsnachricht
     )
  }
  rendern() {
    zurückkehren (
      <div Klassenname="Container">
        <Header-Update={dieses.Update} />
        <Benutzer auflisten={this.state}></List>
      </div>
    )
  }
}

Header.jsx

importiere React, {Komponente} von 'react'
Axios von „Axios“ importieren

exportiere Standardklasse Header erweitert Komponente {
  suche=()=>{
     Konsole.log(dieser.searchbtn.value);
     dies.props.update({isfirst:false, isloading:true})
     axios.get(`http://localhost:3000/api1/search/users?q=${this.searchbtn.value}`).then(
      // Callback-Antwort bei Erfolg=>{
        
         console.log("Anfrage erfolgreich gesendet",response.data.items);
         this.props.update({Benutzer: response.data.items,wird geladen:false})
       },
      // Callback-Fehler bei Fehler=>{
        dies.props.update({err:error.message,isloading:false})
          console.log("fehlgeschlagen",Fehlermeldung);
      }
     )
  } 

    rendern() {
        zurückkehren (
            <Abschnitt Klassenname="jumbotron">
            <h3 className="jumbotron-heading">Github-Benutzer suchen</h3>
            <div>
              <input type="text" placeholder="Geben Sie den gesuchten Namen ein" 
               ref={c=>this.searchbtn=c}
              />
              &nbsp;
              <button onClick={this.search}>Suchen</button>
            </div>
          </Abschnitt>
        )
    }
}

Liste.jsx

importiere React, {Komponente} von 'react'
Listitem aus './Listem' importieren

exportiere Standardklasse Liste erweitert Komponente {
  rendern() {
    zurückkehren (
      <div Klassenname="Zeile">
        {
          this.props.users.isfirst ? <h2 style={{margin:"50px"}}>Willkommen bei uns, bitte geben Sie das Schlüsselwort ein</h2> :
          this.props.users.isloading ? <h2 style={{margin:"50px"}}>Wird geladen......</h2> :
          dies.props.users.err ? <h2 style={{margin:"50px"}}>{this.props.users.err}</h2> :
          diese.props.users.users.map((a) => {
                  zurückkehren (
                    <Listenelementschlüssel={a.id} Benutzer={a} />
                  )
                })
        }
      </div>
    )
  }
}

Listenelement

importiere React, {Komponente} von 'react'
importiere "./index.css"
exportiere Standardklasse Listitem erweitert Komponente {
 
    rendern() {
        zurückkehren (
            <div Klassenname="Karte" >
            <a href={this.props.users.html_url} Ziel="_blank" >
              <img src={this.props.users.avatar_url} style={{ width: '100px' }} />
            </a>
            <p className="card-text">{this.props.users.login}</p>
          </div>
        )
    }
}

Dies ist das Ende dieses Artikels über die Implementierung der Funktion zum Suchen von GitHub-Benutzern mit React+Axios. Weitere relevante Inhalte zur GitHub-Suche mit React Axios finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Mehrere gängige Methoden zum Senden von Anfragen mit Axios in React
  • So verwenden Sie Axios, um Netzwerkanforderungen in React Native zu stellen
  • React Axios - domänenübergreifender Zugriff auf einen oder mehrere Domänennamen

<<:  Detaillierte Erklärung der MySQL Truncate-Verwendung

>>:  Linux verwendet Shell-Skripte, um historische Protokolldateien regelmäßig zu löschen

Artikel empfehlen

Detaillierte Erklärung der Box-Größe in CSS3 (Content-Box und Border-Box)

Box-Größe in CSS3 (Inhaltsbox und Rahmenbox) Mit ...

Vertikales und horizontales Aufteilen von MySQL-Tabellen

Vertikale Teilung Vertikale Aufteilung bezieht si...

So verwalten Sie Benutzer und Gruppen beim Ausführen von Docker

Docker ist ein Verwaltungstool, das Prozesse als ...

JS realisiert die Berechnung des Gesamtpreises der Waren im Warenkorb

JS berechnet den Gesamtpreis der Waren im Warenko...

Eine kurze Einführung in die Gesamtstruktur von Tomcat

Tomcat ist weithin als Webcontainer bekannt. Es h...

jQuery realisiert den Shuttle-Box-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

So deinstallieren Sie MySQL sauber (getestet und effektiv)

Wie deinstalliere ich Mysql vollständig? Befolgen...

Tutorial zum Verbinden und Verwenden von MySQL 8.0 im Maven-Projekt von IDEA

Schauen wir uns zunächst meine grundlegende Entwi...

Hinweise zur IE8-Kompatibilität, die mir aufgefallen sind

1. getElementById von IE8 unterstützt nur IDs, nic...

Implementierung eines Element-Eingabefelds, das automatisch den Fokus erhält

Beim Erstellen eines Formulars in einem aktuellen...

Eine detaillierte Einführung in die Linux-Verzeichnisstruktur

Wenn Sie mit dem Erlernen von Linux beginnen, müs...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

MySql-Anmeldekennwort vergessen und Lösung für vergessenes Kennwort

Methode 1: MySQL bietet einen Befehlszeilenparame...