User页面获取数据
Tutorial: ReactTS案例
Category: React
Published: 2026-04-07 13:58:26
Views: 20
Likes: 0
Comments: 0
xxx
- User 页面新增
import type {
ColumnsType,
ColumnType,
TablePaginationConfig,
} from "antd/es/table";
import { getUserList } from "../../api/user";
const Index = () => {
const [searchText, setSearchText] = useState("");
const [searchedColumn, setSearchedColumn] = useState("");
const searchInput = useRef<InputRef>(null);
const [list, setList] = useState<User[]>([]);
const [pagination, setPagination] = useState<TablePaginationConfig>({
position: ["bottomCenter"],
showSizeChanger: true,
});
useEffect(() => {
getListByPage();
}, []);
const getListByPage = async (current: number = 1) => {
const res = await getUserList(current);
setList(res.data.list);
setPagination({
...pagination,
...res.data,
});
};
const changePage = (p: TablePaginationConfig) => {
getListByPage(p.current);
};
return (
<div className={styles.userContainer}>
<Button type="primary">新增</Button>
<Table
rowKey={"id"}
dataSource={list}
columns={columns}
scroll={{ x: 1500, y: 500 }}
pagination={pagination}
onChange={changePage}
/>
</div>
);
};
export default Index;
- 用户所有 API 请求 src\api\user.tsx
import request from "../request/request";
export function getUserList(current: number = 1, pageSize: number = 10) {
return request.get<any, IPagination<User>>("/admin/user", {
params: {
current,
pageSize,
},
});
}
export function deleteUserById(id: number) {
return request.delete<any, ResponseSuccess>("/admin/user/" + id);
}
export function updateUser(id: number, user: User) {
return request.patch<any, ResponseSuccess>("/admin/user/" + id, user);
}
export function doAddUser(user: User) {
return request.post<any, ResponseSuccess>("/admin/user", user);
}
- 重复一下声明文件 src\react-app-env.d.ts
declare global {
interface ResponseSuccess<T = {}> {
success: boolean;
errorMessage?: string;
data: T;
}
interface IPagination<T> {
success: boolean;
errorMessage?: string;
data: {
list: T[];
current: 1;
pageSize: number;
total: number;
totalPage: number;
};
}
interface Window {
logout(): void;
}
}
export {};