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

Häufig verwendete englische Schriftarten für die Webseitenerstellung

Arial Arial ist eine serifenlose TrueType-Schrifta...

Einführung in das Linux-Netzwerksystem

Inhaltsverzeichnis Netzwerk Informationen Ändern ...

Vue verwendet das Video-Tag, um die Videowiedergabe zu implementieren

In diesem Artikel wird der spezifische Code von V...

Was wir über absolute und relative CSS-Werte zu sagen haben

In der Einleitung steht: Absolute sagte: „Relativ...

Backup zwischen MySQL-Datenbank und Oracle-Datenbank importieren

Importieren Sie die aus der Oracle-Datenbank expo...

Python schreibt die Ausgabe in den CSV-Vorgang

Wie unten dargestellt: def test_write(selbst): Fe...

So erstellen Sie eine LNMP-Umgebung unter Ubuntu 20.04

Einfache Beschreibung Da es zuvor mit Centos7 ers...

MySQL Server IO 100 % Analyse- und Optimierungslösung

Vorwort Während des Stresstests besteht das unmit...

MySQL-Cursorfunktionen und -Verwendung

Inhaltsverzeichnis Definition Die Rolle des Curso...