React implements paging effect

React implements paging effect

This article shares the specific code for React to achieve paging effects for your reference. The specific content is as follows

First, make sure antd and axios are installed

jsx file:

import React, { useState, useEffect } from 'react'
import { Pagination } from 'antd';
import './loading.scss'
import Unit from '../hml'
const App = () => {
    // Set the page number const [num, setNum] = useState(1)
    // Obtained data carrier const [data, setData] = useState([])
    //Just used the mount method, secondary acquisition is not easy to useuseEffect(() => {
        Unit.getApi2('/home/mediareports', {
            //Data page page_number: num,
            // How much data per page page_size: 10
        }, {}).then((res) => {
            //Get data setData(res.data.data)
        })
    }, [num])
    const add = (e) => {
        // Each click turns forward one page setNum(e)
    }
    return (
        <>
            <ul>
                {/* map generates data */}
                {
                    data.map((item,index)=>{
                        return <a href={item.jump_url} key={index}><br />
                            {
                                item.main_title
                            }
                        </a>
                            
                    })
                }
            </ul>
            {/* Although the problem here is solved, I don't know why upload e can get the current clicked index instead of the element, but I think it should be related to total*/}
            <Pagination defaultCurrent={num} total={500} onChange={(e)=>add(e)}/>
        </>
    )
}
export default App

loading.scss file:

// antd has no style, the following code can solve this problem @import '~antd/dist/antd.css';

hml.js: (This is the axios package I sent)

import axios from 'axios';
const Unit = {
    async getApi(ajaxCfg){
        let data = await axios.get(ajaxCfg.url,{params:ajaxCfg.cfg},
        {
            headers: ajaxCfg.headers
        })
        return data;
    },
    async getApi2(url,cfg,headers){
        let data = await axios.get(url,{params:cfg},
        {
            headers: headers
        })
        return data;
    },
    async postApi(url,cfg,headers){
        let fd = new FormData();
        for(let key in cfg){
            fd.append(key, cfg[key]);
        }
        let data = await axios.post(url,fd,
        {
            headers: headers
        })
        return data;
    },
    async putApi(url,cfg,headers){
        // import qs from 'qs';
        // let data = await axios.put(url,qs.stringify(cfg),{
        // headers: {
        // 'Content-Type':'application/x-www-form-urlencoded',
        // }
        // })
        // return data;
    },
    async requestApi(cfg,headers,file){
       let fd = new FormData();
       fd.append('param', JSON.stringify(cfg));
       if(file){
           // Upload proof if(file.length){
               for(let i=0,len=file.length;i<len;i++){
                   fd.append('files', file[i]);
               }
           }else {
               // Single upload for(let key in file){
                   fd.append(key, file[key]);
               }
           }
       }
       let data = await axios.post('/batch',fd,
       {
           headers: headers
       })
       return data;
   }
}
export default Unit;

setupProxy.js:

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
  app.use(
    // Set the path '/home', createProxyMiddleware({
      target: 'https://home-api.pinduoduo.com',
      changeOrigin: true,
    })
  );
};

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Try to write a paging component with react yourself (summary)
  • Reactjs implements the example code of the universal paging component
  • React method of displaying data in pages

<<:  MySQL 5.6 compressed package installation method

>>:  Solution for VMware Workstation Pro not running on Windows

Recommend

Use Nginx to build a streaming media server to realize live broadcast function

Written in front In recent years, the live stream...

Solve the problem of spring boot + jar packaging deployment tomcat 404 error

1. Spring boot does not support jsp jar package, ...

CSS float (float, clear) popular explanation and experience sharing

I came into contact with CSS a long time ago, but...

Weather icon animation effect implemented by CSS3

Achieve results Implementation Code html <div ...

Complete steps to use vue-router in vue3

Preface Managing routing is an essential feature ...

An article to help you understand Js inheritance and prototype chain

Table of contents Inheritance and prototype chain...

W3C Tutorial (4): W3C XHTML Activities

HTML is a hybrid language used for publishing on ...

Linux system repair mode (single user mode)

Table of contents Preface 1. Common bug fixes in ...

JS uses canvas technology to imitate echarts bar chart

Canvas is a new tag in HTML5. You can use js to o...

How to run Hadoop and create images in Docker

Reinventing the wheel, here we use repackaging to...

Detailed example of using the distinct method in MySQL

A distinct Meaning: distinct is used to query the...

Example of using Nginx reverse proxy to go-fastdfs

background go-fastdfs is a distributed file syste...

How to use the Linux basename command

01. Command Overview basename - strip directories...