load Request Success Request failed Click cmd and press Enter in the file path First, start the server with npm start app.js import React, { Component } from 'react' import "./App.css" import Header from './commons/Header' import List from './commons/List' export default class App extends Component { // Initialize state state={ users:[], isloading:false, isfirst:true, err:'' } update=(updatemessage)=>{ this.setState( updatemessage ) } render() { return ( <div className="container"> <Header update={this.update} /> <List users={this.state}></List> </div> ) } } Header.jsx import React, { Component } from 'react' import axios from "axios" export default class Header extends Component { search=()=>{ console.log(this.searchbtn.value); this.props.update({isfirst:false, isloading:true}) axios.get(`http://localhost:3000/api1/search/users?q=${this.searchbtn.value}`).then( // Callback response upon success=>{ console.log("Send request successfully",response.data.items); this.props.update({users: response.data.items,isloading:false}) }, // Callback error upon failure=>{ this.props.update({err:error.message,isloading:false}) console.log("failed",error.message); } ) } render() { return ( <section className="jumbotron"> <h3 className="jumbotron-heading">Search Github Users</h3> <div> <input type="text" placeholder="enter the name you search" ref={c=>this.searchbtn=c} /> <button onClick={this.search}>Search</button> </div> </section> ) } } List.jsx import React, { Component } from 'react' import Listitem from './Listem' export default class List extends Component { render() { return ( <div className="row"> { this.props.users.isfirst ? <h2 style={{margin:"50px"}}>Welcome to use, please enter the keyword</h2> : this.props.users.isloading ? <h2 style={{margin:"50px"}}>Loading......</h2> : this.props.users.err ? <h2 style={{margin:"50px"}}>{this.props.users.err}</h2> : this.props.users.users.map((a) => { return ( <Listitem key={a.id} users={a} /> ) }) } </div> ) } } Listitem import React, { Component } from 'react' import "./index.css" export default class Listitem extends Component { render() { return ( <div className="card" > <a href={this.props.users.html_url} target="_blank" > <img src={this.props.users.avatar_url} style={{ width: '100px' }} /> </a> <p className="card-text">{this.props.users.login}</p> </div> ) } } This is the end of this article about react+axios to implement the function of searching github users. For more relevant react axios github search content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: Detailed explanation of MySQL Truncate usage
>>: Linux uses shell scripts to regularly delete historical log files
In MySQL 8.0.18, a new Hash Join function was add...
Environment: MacOS_Cetalina_10.15.1, Mysql8.0.18,...
Table of contents 1. What is block scope? 2. Why ...
This article is part of a special series on the 2...
Preface: The MySQL database provides a wide range...
The complete steps of Centos7 bridge network conf...
Check whether your cuda is installed Type in the ...
Win10 installation (skip if already installed) Fo...
Joint Index The definition of the joint index in ...
Find the problem Recently, I encountered a proble...
I encountered such a problem when doing the writte...
Recently I saw a barrage effect on B station call...
Understanding of diff algorithm in React diff alg...
Root directory and index file The root directive ...
1. Overview MySQL version: 5.6.21 Download addres...