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

Vue kapselt die öffentliche Funktionsmethode zum Exportieren von Excel-Daten

vue+element UI kapselt eine öffentliche Funktion ...

Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern

Vorwort Leser, die mit MySQL vertraut sind, werde...

jQuery erzielt den Shutter-Effekt (mithilfe der Li-Positionierung)

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

HTML-Formular-Tag-Tutorial (5): Textfeld-Tag

<br />Mit diesem Tag können Sie ein mehrzeil...

Detailliertes Tutorial zum Erstellen eines Gitlab-Servers auf CentOS8.1

Über den Unterschied zwischen Gitlab und Github m...

Eine detaillierte Einführung in die Betriebssystemebenen von Linux

Inhaltsverzeichnis 1. Einführung in die Linux-Sys...

Zusammenfassung ungewöhnlicher Operatoren und Operatoren in js

Zusammenfassung gängiger Operatoren und Operatore...

MySQL-Initialisierungskennwortvorgang unter Mac

Eine einfache Aufzeichnung der Datenbank-Startpro...