最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于React實(shí)現(xiàn)搜索GitHub用戶功能

 更新時(shí)間:2024年02月27日 08:40:32   作者:JudithHuang  
在本篇博客中,我們將介紹如何在 React 應(yīng)用中搜索 GitHub 用戶并顯示他們的信息,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

創(chuàng)建 React 應(yīng)用

首先,我們使用 Create React App 創(chuàng)建一個(gè)新的 React 應(yīng)用。Create React App 是一個(gè)快速搭建 React 項(xiàng)目的工具,它提供了一個(gè)現(xiàn)代化的開發(fā)環(huán)境,讓我們能夠?qū)W⒂诰帉懘a而不必?fù)?dān)心配置問(wèn)題。

npx create-react-app github-user-search

安裝 axios

我們將使用 axios 來(lái)發(fā)起 HTTP 請(qǐng)求。Axios 是一個(gè)簡(jiǎn)單易用的 JavaScript HTTP 客戶端,用于在瀏覽器和 Node.js 環(huán)境中進(jìn)行 HTTP 請(qǐng)求。

npm install axios

編寫搜索組件

接下來(lái),我們創(chuàng)建一個(gè)名為 Search 的組件,用于輸入搜索關(guān)鍵字并觸發(fā)搜索操作。這個(gè)組件包含一個(gè)輸入框和一個(gè)搜索按鈕,用戶可以在輸入框中輸入關(guān)鍵字,然后點(diǎn)擊按鈕或按下回車鍵進(jìn)行搜索。

// Search.js

import React, { Component } from 'react';

export default class Search extends Component {
  state = {
    keyword: '',
  }

  onChange = (e) => {
    this.setState({ keyword: e.target.value });
  }

  onSearch = () => {
    const { keyword } = this.state;
    const { onSearch } = this.props;
    onSearch(keyword);
  }

  onKeyPress = (e) => {
    if (e.key === 'Enter') {
      this.onSearch();
    }
  }

  render() {
    return (
      <div className="input-group mb-3">
        <input
          type="text"
          className="form-control"
          placeholder="輸入關(guān)鍵字"
          onChange={this.onChange}
          onKeyPress={this.onKeyPress}
        />
        <div className="input-group-append">
          <button
            className="btn btn-outline-secondary"
            type="button"
            onClick={this.onSearch}
          >
            搜索
          </button>
        </div>
      </div>
    )
  }
}

編寫用戶列表組件

接下來(lái),我們創(chuàng)建一個(gè)名為 Users 的組件,用于顯示搜索到的用戶列表。這個(gè)組件接收一個(gè)用戶列表作為 prop,并根據(jù)列表中的用戶信息渲染用戶卡片。

// Users.js

import React, { Component } from 'react';
import User from './User';

export default class Users extends Component {
  render() {
    const { users } = this.props;
    return (
      <div className="row row-cols-4 g-4">
        {users.map(user => <User key={user.node_id} user={user} />)}
      </div>
    )
  }
}

編寫用戶組件

然后,我們創(chuàng)建一個(gè)名為 User 的組件,用于顯示單個(gè)用戶的信息。這個(gè)組件接收一個(gè)用戶對(duì)象作為 prop,并根據(jù)用戶信息渲染用戶卡片。

// User.js

import React, { Component } from 'react';

export default class User extends Component {
  render() {
    const { user } = this.props;

    return (
      <div className="border p-3 d-flex flex-column align-items-center" style={{ width: '240px' }}>
        <img
          src={user.avatar_url}
          alt={user.node_id}
          className="rounded-circle"
          style={{ width: '50px', height: '50px' }}
        />
        <h4 className="text-primary">{user.login}</h4>
      </div>
    )
  }
}

編寫應(yīng)用主組件

最后,在 App 組件中集成上述組件,并實(shí)現(xiàn)搜索功能。這個(gè)組件是我們應(yīng)用的入口點(diǎn),它負(fù)責(zé)管理整個(gè)應(yīng)用的狀態(tài)和邏輯。

// App.js

import React, { Component } from 'react';
import axios from 'axios';

import Search from './Search';
import Users from './Users';

export default class App extends Component {
  state = {
    users: [],
  }

  onSearch = async (keyword) => {
    const res = await axios.get(`/api/github/search/users?q=${keyword || 'h'}`);
    if (res && res.data) {
      this.setState({ users: res.data.items || [] });
    }
  }

  render() {
    const { users }

 = this.state;

    return (
      <div className="container" style={{ margin: '20px auto' }}>
        <Search onSearch={this.onSearch} />
        <Users users={users} />
      </div>
    )
  }
}

部署并使用

現(xiàn)在,你可以部署你的應(yīng)用,并開始搜索 GitHub 用戶了!

參考

到此這篇關(guān)于基于React實(shí)現(xiàn)搜索GitHub用戶功能的文章就介紹到這了,更多相關(guān)React搜索GitHub用戶內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React Hook中useState更新延遲問(wèn)題及解決

    React Hook中useState更新延遲問(wèn)題及解決

    這篇文章主要介紹了React Hook中useState更新延遲問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • antd4里table滾動(dòng)的實(shí)現(xiàn)

    antd4里table滾動(dòng)的實(shí)現(xiàn)

    本文主要介紹了antd4里table滾動(dòng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • React中組件的this.state和setState的區(qū)別

    React中組件的this.state和setState的區(qū)別

    在React開發(fā)中,this.state用于初始化和讀取組件狀態(tài),而setState()用于安全地更新狀態(tài),正確使用這兩者對(duì)于管理React組件狀態(tài)至關(guān)重要,避免性能問(wèn)題和常見錯(cuò)誤
    2024-09-09
  • ReactiveCocoa代碼實(shí)踐之-UI組件的RAC信號(hào)操作

    ReactiveCocoa代碼實(shí)踐之-UI組件的RAC信號(hào)操作

    這篇文章主要介紹了ReactiveCocoa代碼實(shí)踐之-UI組件的RAC信號(hào)操作 的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • svelte5中使用react組件的方法

    svelte5中使用react組件的方法

    本文介紹了如何在Svelte 5項(xiàng)目中導(dǎo)入并使用React組件庫(kù),并提供了一個(gè)示例項(xiàng)目地址,此外,還添加了一個(gè)React組件庫(kù)(如Ant Design)的示例,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • 詳解Webpack+Babel+React開發(fā)環(huán)境的搭建的方法步驟

    詳解Webpack+Babel+React開發(fā)環(huán)境的搭建的方法步驟

    本篇文章主要介紹了詳解Webpack+Babel+React開發(fā)環(huán)境的搭建的方法步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 在React中集成第三方庫(kù)和插件方式

    在React中集成第三方庫(kù)和插件方式

    本文詳細(xì)介紹了如何在React項(xiàng)目中高效集成第三方庫(kù)和插件,包括選擇合適的庫(kù)、封裝為React組件、按需加載、避免直接操作DOM、處理庫(kù)的更新和卸載、樣式處理與主題定制、性能優(yōu)化以及調(diào)試與維護(hù)等方面,通過(guò)遵循這些最佳實(shí)踐,可以確保集成過(guò)程高效且優(yōu)雅
    2025-03-03
  • React 并發(fā)功能體驗(yàn)(前端的并發(fā)模式)

    React 并發(fā)功能體驗(yàn)(前端的并發(fā)模式)

    React 是由 Facebook 軟件工程師 Jordan Walke 創(chuàng)建,React 的第一個(gè)版本在七年前問(wèn)世,現(xiàn)在,F(xiàn)acebook 負(fù)責(zé)維護(hù),本文給大家介紹React 并發(fā)功能體驗(yàn)前端并發(fā)模式的問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • react中context傳值和生命周期詳解

    react中context傳值和生命周期詳解

    這篇文章主要介紹了react中context傳值和生命周期,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • React中使用dnd-kit實(shí)現(xiàn)拖曳排序功能

    React中使用dnd-kit實(shí)現(xiàn)拖曳排序功能

    在這篇文章中,我將帶著大家一起探究React中使用dnd-kit實(shí)現(xiàn)拖曳排序功能,由于前陣子需要在開發(fā) Picals 的時(shí)候,需要實(shí)現(xiàn)一些拖動(dòng)排序的功能,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06

最新評(píng)論

钟祥市| 柘荣县| 苍溪县| 喀什市| 双鸭山市| 新化县| 嘉黎县| 三台县| 望奎县| 玉龙| 灵川县| 长寿区| 秀山| 叶城县| 涟水县| 南部县| 扎鲁特旗| 台北县| 监利县| 安宁市| 长宁区| 东海县| 蛟河市| 余干县| 阜南县| 莱西市| 襄城县| 沅江市| 遵义县| 桃江县| 海门市| 高清| 阿荣旗| 繁峙县| 华宁县| 中牟县| 澄江县| 阜宁县| 西和县| 清涧县| 龙泉市|