React+axios は github 検索ユーザー機能を実装します (サンプル コード)

React+axios は github 検索ユーザー機能を実装します (サンプル コード)

ここに画像の説明を挿入

負荷

ここに画像の説明を挿入

リクエスト成功

ここに画像の説明を挿入

リクエストに失敗しました

ここに画像の説明を挿入

cmdをクリックし、ファイルパスでEnterキーを押します

ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入

まず、npm startでサーバーを起動します。

ここに画像の説明を挿入

アプリ

React をインポートします。{ コンポーネント } を 'react' からインポートします。
「./App.css」をインポートします
'./commons/Header' からヘッダーをインポートします
'./commons/List' からリストをインポートします
デフォルトクラスAppをエクスポートし、Componentを拡張します。
  // 状態を初期化する
  状態={
    ユーザー:[],
    isloading:false、
    isfirst:true、
    エラー:''

  }
  更新=(更新メッセージ)=>{
     this.setState() は、
      更新メッセージ
     )
  }
  与える() {
    戻る (
      <div className="コンテナ">
        <ヘッダー更新={this.update} />
        <ユーザーのリスト={this.state}></リスト>
      </div>
    )
  }
}

ヘッダー.jsx

React をインポートします。{ コンポーネント } を 'react' からインポートします。
「axios」からaxiosをインポートします

デフォルトクラス Header をエクスポートし、Component を拡張します {
  検索=()=>{
     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(
      // 成功時のコールバック応答=>{
        
         console.log("リクエストを正常に送信しました",response.data.items);
         this.props.update({ユーザー: response.data.items,isloading:false})
       },
      // 失敗時のコールバックエラー=>{
        this.props.update({err:error.message,isloading:false})
          console.log("失敗",error.message);
      }
     )
  } 

    与える() {
        戻る (
            <セクション className="ジャンボトロン">
            <h3 className="jumbotron-heading">Github ユーザーを検索</h3>
            <div>
              <input type="text" placeholder="検索する名前を入力してください" 
               ref={c=>this.searchbtn=c}
              />
              &nbsp;
              <button onClick={this.search}>検索</button>
            </div>
          </セクション>
        )
    }
}

リスト.jsx

React をインポートします。{ コンポーネント } を 'react' からインポートします。
'./Listem' から Listitem をインポートします

デフォルトのクラスListをエクスポートし、Componentを拡張します。
  与える() {
    戻る (
      <div クラス名="行">
        {
          this.props.users.isfirst ? <h2 style={{margin:"50px"}}>ようこそ、キーワードを入力してください</h2> :
          this.props.users.isloading ? <h2 style={{margin:"50px"}}>読み込み中......</h2> :
          this.props.users.err ? <h2 style={{margin:"50px"}}>{this.props.users.err}</h2> :
          this.props.users.users.map((a) => {
                  戻る (
                    <リスト項目キー={a.id} ユーザー={a} />
                  )
                })
        }
      </div>
    )
  }
}

リスト項目

React をインポートします。{ コンポーネント } を 'react' からインポートします。
「./index.css」をインポートします
エクスポートデフォルトクラスListitemはComponentを拡張します{
 
    与える() {
        戻る (
            <div className="カード" >
            <a href={this.props.users.html_url} ターゲット="_blank" >
              <img src={this.props.users.avatar_url} スタイル={{ width: '100px' }} />
            </a>
            <p className="card-text">{this.props.users.login}</p>
          </div>
        )
    }
}

react+axios を使って github ユーザーを検索する機能を実装するこの記事はこれで終わりです。もっと関連のある react axios github 検索コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を続けて閲覧してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Reactでaxiosを使用してリクエストを送信する一般的な方法
  • React Nativeでaxiosを使用してネットワークリクエストを行う方法
  • 1 つ以上のドメイン名への React axios クロスドメイン アクセス

<<:  MySQL Truncate の使用方法の詳細な説明

>>:  Linuxはシェルスクリプトを使用して履歴ログファイルを定期的に削除します

推薦する

リモートログインとポート公開を防ぐためのLinuxサーバー構成IPホワイトリスト

序文ブロガーが使用しているサーバーは Alibaba Cloud から購入したものです。実際、Ali...

React NativeとiOSの相互作用の詳細な説明

目次前提条件RNはiOSに価値を渡す方法1: ネイティブに値を通常通り渡す方法2: コールバック関数...

Nginx ログのカスタマイズとログ バッファの有効化の詳細な説明

序文ウェブサイトのアクセス元をカウントしたい場合は、PHP を使用して情報を取得してデータベースに記...

div の高さをブラウザの高さに合わせて調整する方法

この古くからある疑問は、数え切れないほどのフロントエンド開発者やバックエンドプログラマーを悩ませてき...

CSS3 とテーブルタグを使用して円軌道アニメーションを実装するためのサンプルコード

html: 実際には、テーブルタグに従っていくつかの実線の円 div を正六角形に配置し、div コ...

html2canvas を使用して、Baidu マップを含む Dom 要素を画像に処理するソリューション

問題 1: Baidu Map はタイル画像 (地図が写真で構成されている) を使用しています。ht...

スタイル属性 (element.style) で定義されたインライン スタイルを削除する方法

Magento を頻繁に変更する場合、element.style に遭遇することがあります。 これは...

Vueはデジタル千単位区切り形式をグローバルに実装します

この記事の例では、Vue がデジタル 3 桁区切り形式をグローバルに実装するための具体的なコードを参...

CSSはcalc()を使用して現在の表示画面の高さを取得します

まず、CSS3 の相対的な長さの単位を見てみましょう (詳細なチュートリアルを参照してください)。相...

WeChatミニプログラムがシームレスなスクロールを実現

この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考...

MySQL 使用仕様の概要

1. InnoDBストレージエンジンを使用する必要がありますCPU と IO のパフォーマンスが向上...

macOS での MySQL 8.0.17 のインストールと簡単な設定チュートリアル

私が書いた内容が理解できない場合は、インターネット上に理解できるチュートリアルがない可能性があります...

mySQLキーワードの実行優先度の説明

以下のように表示されます。表から条件フィールドでグループ化仮想テーブルとフィールドを作成し、フィール...

MySQL 8の新機能におけるグローバルパラメータの永続性の詳細な説明

目次序文グローバルパラメータの永続性最後に要約する参考資料:序文2018 年に MySQL 8.0....

jsはショッピングウェブサイトの商品の拡大鏡効果を実現します

この記事では、ショッピングサイトの商品の拡大鏡効果を実現するためのjsの具体的なコードを紹介します。...