Reactはページング効果を実装する

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

まず、antdとaxiosがインストールされていることを確認してください

jsx ファイル:

React をインポートし、{useState、useEffect} を 'react' から取得します。
'antd' から { Pagination } をインポートします。
'./loading.scss' をインポートします
'../hml' からユニットをインポートします
定数App = () => {
    // ページ番号を設定する const [num, setNum] = useState(1)
    // 取得したデータキャリア const [data, setData] = useState([])
    //マウントメソッドを使用しただけで、二次取得は簡単ではありませんuseEffect(() => {
        Unit.getApi2('/home/mediareports', {
            //データページ page_number: num,
            // ページあたりのデータ量 page_size: 10
        }, {}).then((res) => {
            //データを取得する setData(res.data.data)
        })
    }, [数字])
    定数を追加する = (e) => {
        // クリックするごとに1ページ進む setNum(e)
    }
    戻る (
        <>
            <ul>
                {/* マップはデータを生成します */
                {
                    data.map((item,index)=>{
                        <a href={item.jump_url} key={index}><br /> を返します。
                            {
                                アイテム.メインタイトル
                            }
                        </a>
                            
                    })
                }
            </ul>
            ここでの問題は解決されていますが、アップロード e が要素ではなく現在のクリックされたインデックスを取得できる理由はわかりませんが、合計に関連していると思います* です。
            <ページネーション defaultCurrent={num} total={500} onChange={(e)=>add(e)}/>
        </>
    )
}
デフォルトアプリをエクスポート

.scss ファイルを読み込み中:

// antd にはスタイルがありません。次のコードでこの問題を解決できます @import '~antd/dist/antd.css';

hml.js: (これは私が送信した axios パッケージです)

'axios' から axios をインポートします。
定数ユニット = {
    非同期getApi(ajaxCfg){
        データをaxios.get(ajaxCfg.url,{params:ajaxCfg.cfg}, で待ちます。
        {
            ヘッダー: ajaxCfg.headers
        })
        データを返します。
    },
    非同期 getApi2(url,cfg,headers){
        data = axios.get(url,{params:cfg}, を待ちます。
        {
            ヘッダー: ヘッダー
        })
        データを返します。
    },
    非同期 postApi(url,cfg,headers){
        fd = new FormData();
        for(let key in cfg){
            fd.append(キー、cfg[キー]);
        }
        data = axios.post(url,fd, を待ちます。
        {
            ヘッダー: ヘッダー
        })
        データを返します。
    },
    非同期 putApi(url,cfg,headers){
        // 'qs' から qs をインポートします。
        // data = axios.put(url,qs.stringify(cfg),{ を待機します。
        // ヘッダー: {
        // 'コンテンツタイプ':'application/x-www-form-urlencoded',
        // }
        // })
        // データを返します。
    },
    非同期リクエストAPI(cfg、ヘッダー、ファイル){
       fd = new FormData();
       fd.append('param', JSON.stringify(cfg));
       if(ファイル){
           // アップロード証明 if(file.length){
               for(let i=0,len=file.length;i<len;i++){
                   fd.append('ファイル', ファイル[i]);
               }
           }それ以外 {
               // 単一アップロード for(let key in file){
                   fd.append(キー、ファイル[キー]);
               }
           }
       }
       データをawait axios.post('/batch',fd,
       {
           ヘッダー: ヘッダー
       })
       データを返します。
   }
}
デフォルトの単位をエクスポートします。

セットアッププロキシ.js:

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = 関数 (アプリ) {
  アプリを使用する(
    // パス '/home' を設定し、createProxyMiddleware({
      ターゲット: 'https://home-api.pinduoduo.com',
      変更元: true、
    })
  );
};

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 自分でReactを使ってページングコンポーネントを書いてみる(まとめ)
  • Reactjsはユニバーサルページングコンポーネントのサンプルコードを実装します
  • ページにデータを表示するReactメソッド

<<:  MySQL 5.6 圧縮パッケージのインストール方法

>>:  VMware Workstation Pro が Windows で実行されない場合の解決策

推薦する

Reactコンポーネント通信の詳細な説明

目次コンポーネント通信の概要コンテンツ3つの方法まとめコンポーネントコミュニケーション - 父から息...

フロントエンドの HTML 知識ポイントのまとめ (推奨)

1. HTMLの概要htyper テキスト マークアップ言語 ハイパーテキスト マークアップ言語ハ...

フロントエンド プロジェクトのデフォルトのスクロール バー スタイルを変更する (概要)

スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...

JS WebSocket 切断理由とハートビートの仕組みの詳しい説明

1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...

Windows 10 で MySQL の解凍バージョンをインストールする方法の詳細なグラフィック チュートリアル

MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...

Vueルーティングはページステータスを復元する操作メソッドを返します

ルートパラメータ、ルートナビゲーションガード: ページが戻ったときに検索結果を保持する需要シナリオ:...

ApacheとTomcatを組み合わせて静的状態と動的状態を分離する方法

実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...

MySQLのスロークエリの詳細な説明

MySQL操作情報のクエリ show status -- すべての MySQL 操作情報を表示します...

VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...

MySQL 8.0.15 winx64 解凍版のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15 winx64解凍版のインストールと設定方法を紹介します。具体...

iostat を使用して Linux ハードディスクの IO パフォーマンスを表示する方法

TOP 観察: IO 待機に占められる CPU 時間の割合。30% を超えると、IO の負荷が高くな...

MySQL Community Server 8.0.12 のインストールと設定方法のグラフィックチュートリアル

MySQL 8 は、NoSQL、JSON などのサポートなど、まったく新しいエクスペリエンスをもたら...

React+Typescriptはカウントダウンフックメソッドを実装します

まず、setIntervalはフックとしてカプセル化されます👇 'react' から...

Ubuntu 18.04 (コミュニティ エディション) に Docker CE をインストールする方法

古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...

ネイティブ JS で音楽プレーヤーを実装するためのサンプル コード

この記事では主に、次のように共有されるネイティブ JS 音楽プレーヤーのサンプル コードを紹介します...