react學習——20react編寫github案列

1、List組件
index.js

import React, {Component} from "react";
//引入樣式
import "./index.css";
export default class List extends Component {render() {const {users,isFirst,isLoding,err}=this.propsreturn(<div className="row">{isFirst?<h2>歡迎使用,輸入關鍵字,隨后點擊搜素</h2>:isLoding?<h2>正在加載中...</h2>:err?<h2 style={{color:'red'}}>{err}</h2>:users.map((userObj)=>{return(<div key={userObj.id}  className="card"><a href={userObj.html_url} target="_blank" rel="noreferrer"><img alt={"reactjs"} src={userObj.avatar_url} style={{width: '100px'}}/></a><p className="card-text">{userObj.login}</p></div>)})}</div>);}
}

index.css

.album {min-height: 50rem; /* Can be removed; just added for demo purposes */padding-top: 3rem;padding-bottom: 3rem;background-color: #f7f7f7;
}.card {float: left;width: 33.333%;padding: .75rem;margin-bottom: 2rem;border: 1px solid #efefef;text-align: center;
}.card > img {margin-bottom: .75rem;border-radius: 100px;
}.card-text {font-size: 85%;
}

2、search組件

import React, {Component} from "react";
//引入axios
import axios from 'axios';
export default class Search extends Component {search = () =>{//獲取用戶的輸入(連續解構賦值+重命名)const {keyword:{value:keyword}} = this;//發送請求前通知App組件更新狀態this.props.updateAppState({isFirst:false,isLoding: true});//發送網絡請求   https://api.github.com/search/users?q=xxxxxxaxios.get(`https://api.github.com/search/users?q=${keyword}`).then(res=>{const {items} = res.data;this.props.updateAppState({isLoding:false,users:items});console.log(items)},err=>{//請求失敗通知App組件更新狀態this.props.updateAppState({isLoding:false,err:err.message});})}render(){return(<section className="jumbotron"><h3 className="jumbotron-heading">Search Github Users</h3><div><input ref={c=>this.keyword=c} type="text" placeholder="enter the name you search"/>&nbsp;<button onClick={this.search}>Search</button></div></section>);}
}

3、App.js

//創建“外殼”組件APP
import React, {Component} from "react";
//引入Search組件
import Search from "./components/Search";
//引入List組件
import List from "./components/List";
//創建并暴露App組件
export default class App extends Component {state={users:[],isFirst:true,//是否第一次加載數據isLoding:false,//是否正在加載數據err:''//是否加載失敗}updateAppState=(stateObj)=>{this.setState({...stateObj})}render() {return (<div className="container"><Search updateAppState={this.updateAppState}></Search><List {...this.state}></List></div>)}
}

5、index,js

//引入React核心庫
import React from 'react';
//引入ReactDOM
import ReactDOM from 'react-dom/client';
import App from './App';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(// <React.StrictMode>作用:在開發模式下,React 會在渲染組件時檢查其代碼,以發現一些常見錯誤。<React.StrictMode><App /></React.StrictMode>
);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38179.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

注意!!2024《信息系統監理師》易混淆知識點來了,趕緊收藏

寶子們&#xff0c;在復習軟考信息系統監理師中&#xff0c;是不是覺得有很多知識點含義比較相近&#xff0c;很多友友剛看的時候估計會像我一樣迷迷糊糊的&#xff0c;作為一個軟考老鳥&#xff0c;在這里給大家整理了信息系統監理師學習過程中易混淆的知識點&#xff0c;大家…

el-tree-transfer插件 入參說明

el-tree-transfer 是一個基于 Vue 和 Element-UI 的樹形穿梭框組件&#xff0c;用于實現左右兩側樹形結構數據的選擇與移動功能。以下是一些基本的入參說明&#xff0c;根據收集到的信息整理得出&#xff1a; title: 類型: Array默認值: [未選, 已選]說明: 穿梭框左右兩側的標題…

Redux 使用及基本原理

什么是Redux Redux 是用于js應用的狀態管理庫&#xff0c;通常和React一起用。幫助開發者管理應用中各個組件之間的狀態&#xff0c;使得狀態的變化變得更加可預測和易于調試。 Redu也可以不和React組合使用。&#xff08;通常一起使用&#xff09; Redux 三大原則 單一數據源…

武漢星起航:無錫跨境電商加速“出海”,物流升級助品牌全球布局

隨著全球化的不斷深入&#xff0c;跨境電商作為數字外貿的新業態&#xff0c;正逐漸成為無錫企業拓展海外市場的重要渠道。武漢星起航關注到&#xff0c;近年來&#xff0c;無錫市通過積極推進國際物流樞紐建設&#xff0c;完善海外倉布局&#xff0c;以及各特色產業帶的積極參…

2024 年江西省研究生數學建模競賽題目 A題交通信號燈管理--完整思路、代碼結果分享(僅供學習)

交通信號燈是指揮車輛通行的重要標志&#xff0c;由紅燈、綠燈、 黃燈組成。紅燈停、綠燈行&#xff0c;而黃燈則起到警示作用。交通 信號燈分為機動車信號燈、非機動車信號燈、人行橫道信號 燈、方向指示燈等。 一般情況下&#xff0c;十字路口有東西向和南北向 4 個方向的車…

SpringSecurity中文文檔(Servlet Session Management)

Authentication Persistence and Session Management 一旦您擁有了正在對請求進行身份驗證的應用程序&#xff0c;就必須考慮如何在將來的請求中持久化和恢復結果身份驗證。 默認情況下&#xff0c;這是自動完成的&#xff0c;因此不需要額外的代碼&#xff0c;盡管了解 requ…

手機歌曲怎么轉換成mp3格式,手機電腦都能輕松搞定

不同的手機和音樂應用可能支持不同的音頻格式&#xff0c;而MP3作為一種廣泛兼容的音頻格式&#xff0c;因其體積小、音質相對較好的特點&#xff0c;至今仍被廣泛使用。 如果您想將手機中的歌曲轉換成MP3格式&#xff0c;以便于在更多設備上播放或節省存儲空間&#xff0c;本…

iOS端授權頁添加自定義按鈕

如何添加自定義控件 基于一鍵登錄的拉起授權頁面功能&#xff0c;如果想要在我們的授權頁面中添加自定義組件&#xff0c;例如使用其他方式登錄的按鈕&#xff0c;來實現其他方式登錄功能&#xff0c;為用戶呈現更多選擇登錄的方式。本文介紹如何在一鍵登錄授權界面中實現添加…

機器學習之監督學習

整理一下機器學習中監督學習相關內容&#xff0c;爭取梳理出一條易于理解和掌握的脈絡。下面會有很多相關參考博客和文章&#xff0c;先放到一起&#xff0c;最后再做個整體的梳理。持續更新中。。。。。。 監督學習作為機器學習的核心分支&#xff0c;其理論體系與實踐應用都…

C# 警告 warning MSB3884: 無法找到規則集文件“MinimumRecommendedRules.ruleset”

警告 warning MSB3884: 無法找到規則集文件“MinimumRecommendedRules.ruleset” C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.CSharp.CurrentVersion.targets(129,9): warning MSB3884: 無法找到規則集文件“MinimumRe…

競賽選題 python的搜索引擎系統設計與實現

0 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; python的搜索引擎系統設計與實現 &#x1f947;學長這里給一個題目綜合評分(每項滿分5分) 難度系數&#xff1a;3分工作量&#xff1a;5分創新點&#xff1a;3分 該項目較為新穎&#xff…

正則表達式在Java中的應用與實例

正則表達式在Java中的應用與實例 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 正則表達式是一種強大的工具&#xff0c;用于模式匹配和字符串處理。在Java中…

武漢星起航:成功掛牌上股交,引領跨境電商行業進入全新發展階段

2023年10月30日&#xff0c;武漢星起航電子商務有限公司在上海股權托管交易中心成功掛牌展示&#xff0c;這一里程碑式的事件標志著武漢星起航正式登陸資本市場&#xff0c;開啟了公司發展的新篇章。作為亞馬遜跨境電商領域的領軍企業之一&#xff0c;武漢星起航此次掛牌不僅是…

文件操作詳解(C語言)

1.為什么要用到文件&#xff1f;怎樣數據才能持久化&#xff1f; 保存在內存中的數不安全&#xff08;一次斷電&#xff0c;忘記保存&#xff0c;不用了還給系統&#xff09; 持久化&#xff1a;保存在硬盤上&#xff08;放在文件中&#xff09; 什么是文件&#xff1f;文件…

Hadoop-08-HDFS集群 基礎知識 命令行上機實操 hadoop fs 分布式文件系統 讀寫原理 讀流程與寫流程 基本語法上傳下載拷貝移動文件

章節內容 上一節完成&#xff1a; HDFS的簡介內容HDFS基礎原理HDFS讀文件流程HDFS寫文件流程 背景介紹 這里是三臺公網云服務器&#xff0c;每臺 2C4G&#xff0c;搭建一個Hadoop的學習環境&#xff0c;供我學習。 之前已經在 VM 虛擬機上搭建過一次&#xff0c;但是沒留下…

SpringSecurity的執行原理

SpringSecurity的執行原理&#xff1a;當我們服務端接收到請求后&#xff0c;首先通過DelegatingFilterProxy代理對象交互&#xff0c;轉發給springsecurity的執行鏈&#xff0c;由于他自帶的執行鏈有16條&#xff0c;我們將不用的過濾器進行了排除&#xff0c;同時加入了我們自…

如何保護應用?可快速部署的WAF服務器分享

Web應用攻擊是安全事件和數據泄露的主要原因。相關統計表明&#xff0c;超過四分之三的網絡犯罪直指應用及其漏洞。為保護數量日益增長的應用安全&#xff0c;Web應用防火墻(WAF)因此而生。本文則聚焦于WAF服務器&#xff0c;了解它的性能與具體的實踐應用。   新加坡網絡安全…

《單片機》期末考試復習-學習筆記總結

題型 問答題(15分)編程題(65分)編程題1(20分)編程題2(45分)設計題(20分)一、問答題 1.1.單片機概念和特點 1.2. 51單片機的中斷結構 1.3.主從式多機通訊的概念及其工作原理 多機通信是指兩臺以上計算機之間的數據傳輸,主從式多機通信是多機通信系統中最簡單的一種,…

PHP電商系統開發指南最佳實踐

電子商務系統開發的最佳實踐包括&#xff1a;數據庫設計&#xff1a;選擇適合關系型數據庫&#xff0c;優化數據結構&#xff0c;考慮表分區&#xff1b;安全&#xff1a;加密數據&#xff0c;防止 sql 注入&#xff0c;處理會話管理&#xff1b;用戶界面&#xff1a;遵循 ux 原…

vue3長列表優化,使用vue-virtual-scroller實現直播間彈幕列表虛擬滾動效果

使用的組件庫是&#xff1a;https://github.com/Akryum/vue-virtual-scroller 官方文檔&#xff1a;vue-virtual-scroller 安裝依賴 npm install --save vue-virtual-scrollernextpnpm install --save vue-virtual-scrollernextyarn add vue-virtual-scrollernext 組件導入…