この記事では、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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 5.6 圧縮パッケージのインストール方法
>>: VMware Workstation Pro が Windows で実行されない場合の解決策
目次コンポーネント通信の概要コンテンツ3つの方法まとめコンポーネントコミュニケーション - 父から息...
1. HTMLの概要htyper テキスト マークアップ言語 ハイパーテキスト マークアップ言語ハ...
スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...
1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...
MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...
ルートパラメータ、ルートナビゲーションガード: ページが戻ったときに検索結果を保持する需要シナリオ:...
実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...
MySQL操作情報のクエリ show status -- すべての MySQL 操作情報を表示します...
背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...
この記事では、MySQL 8.0.15 winx64解凍版のインストールと設定方法を紹介します。具体...
TOP 観察: IO 待機に占められる CPU 時間の割合。30% を超えると、IO の負荷が高くな...
MySQL 8 は、NoSQL、JSON などのサポートなど、まったく新しいエクスペリエンスをもたら...
まず、setIntervalはフックとしてカプセル化されます👇 'react' から...
古いバージョンをアンインストールする以前に古いバージョンをインストールしたことがある場合は、まずそれ...
この記事では主に、次のように共有されるネイティブ JS 音楽プレーヤーのサンプル コードを紹介します...