1. 程式人生 > 其它 >react 結合antd 實現分頁效果

react 結合antd 實現分頁效果

import React, { useState, useEffect } from "react";
// antd 
import { Pagination } from "antd";
// 二次封裝axios
import Unit from "../分頁/index.js";

const App = () => {
  const [sj, setSj] = useState({
    currentPage: 1,
    totalPage: 10,
  });
  //賦值data
  const [data, setdate] = useState([]);

  function list() {
    return (
      <ul>
        {data.map((item, index) => {
          return (
            <li key={index}>
              {item.id}----{item.main_title}
            </li>
          );
        })}
      </ul>
    );
  }
  //  axios
  const dy = (page = 1, page_size = 10) => {
    const cfg = {
      page_number: page,
      page_size: page_size,
    };
    Unit.getApi2("/home/mediareports", cfg, {}).then((res) => {
      if (res.data.code === 200) {
        setSj({
          currentPage: page,
          totalPage: res.data.total,
        });
        setdate(res.data.data);
      } else {
      }
    });
  };
  // 掛載呼叫
  useEffect(() => {
    dy();
  }, []);

  return (
    <div>
      {data.length !== 0 ? list() : ""}
      <Pagination
        onChange={dy}
        defaultCurrent={sj.currentPage}
        total={sj.totalPage}
      />
    </div>
  );
};

export default App;

二次封裝axios在本人部落格裡