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 で実行されない場合の解決策

推薦する

Linux で pyenv をインストールする方法

前提条件gitをインストールする必要があるインストール手順1. リモートリポジトリからpyenvをク...

Vuex でゲッターとアクションを使用するための追加手順

予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...

ElementUIはel-formフォームリセット機能ボタンを実装します

目次ビジネスシナリオ:効果のデモンストレーション:ビジネスシナリオ: el-form を使用する場合...

ウェブサイトのホームページを作成するための基本原則

1. ウェブサイトのホームページのハイパーテキスト ドキュメントの構成構造は、ユーザーの注意をできる...

MySQLデータベースの共通操作スキルのまとめ

この記事では、MySQL データベースの一般的な操作テクニックをまとめます。ご参考までに、詳細は以下...

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

UCenter ホームサイトに統計コードを追加

UCenter Homeは、ComsenzがリリースしたSNSサイト構築システムです。最新バージョン...

ハイパーリンクを表示して開く方法

<br />インターネット上の無数の情報は基本的に HTML ドキュメントで構成されてお...

Linux にソフトウェアをインストールするときにソフトウェア パッケージが存在しない問題を解決する方法

ソフトウェア パッケージが存在しない場合は、インストールされているソフトウェアのソフトウェア ソース...

ブラウザでのjsのイベントループイベントキューの詳細な説明

目次序文スタックと2つのキューを理解する実行プロセス簡単な例より難しい例要約する序文以下の内容はブラ...

mysqlサーバーは--skip-grant-tablesオプションで実行されています

MySQLサーバーは--skip-grant-tablesオプションで実行されているため、このステー...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

CentOS に MySQL 8.0 をインストールして設定するための詳細な手順

序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...

SpringBootをDockerにデプロイし、jarパッケージを置き換える方法の詳細な説明

目次プロジェクトディレクトリDockerファイルファイルの展開画像を生成するコンテナを起動するウェブ...

Linuxファイル削除後にスペースが解放されない問題の詳しい説明

序文システム領域の使用量が大きすぎて消去する必要がある場合、または特定のファイルを消去する必要がある...