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    

Artikel empfehlen

Centos8 erstellt NFS basierend auf KDC-Verschlüsselung

Inhaltsverzeichnis Konfiguration NFS-Server (nfs....

Einführung in den Installationsprozess von MySQL 8.0 in einer Linux-Umgebung

Inhaltsverzeichnis Vorwort 1. Linux ändert die Yu...

So installieren Sie Android x86 in einer virtuellen VMware-Maschine

Manchmal möchten Sie eine App testen, aber nicht ...

Bedingtes Rendering von Vue (v-if und v-show)

Inhaltsverzeichnis 1. v-wenn 2. Verwenden Sie v-i...

MySQL-Integritätsbeschränkungen – Definition und Beispiel-Tutorial

Inhaltsverzeichnis Integritätsbeschränkungen Defi...

Beispielcode für HTML-Formularkomponente

HTML-Formulare werden verwendet, um verschiedene ...

Website User Experience Design (UE)

Ich habe gerade einen von JunChen verfassten Beitr...

Eine detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung)

Inhaltsverzeichnis Vorwort 1. Systemdienststeueru...

Erstellen eines Redis-Clusters auf Docker

Inhaltsverzeichnis 1. Ziehen Sie das Bild 2. Erst...

jQuery implementiert Formularvalidierungsfunktion

Beispiel für die Validierung eines jQuery-Formula...