React 实现请求接口封装

接口封装

一、正常接口请求

java 复制代码
useEffect(()=>{
	//获取下拉数据
	async function fetchDateWrapper() {
	try{
		const res = await 接口();
		console.log("res",res.data);
		const value = res.data.map(item ={
			return { label: item.valueName,value:valueCode }
		});
		setData(value);
		console.log("aaa",value);
	} catch (error) {
	
	} finally {
	
	}
	fetchDateWrapper();
},[])

二、antd组件请求封装

java 复制代码
 request={async (params) => {
 	const { current: pageNum, pageSize, ...otherParams } = params;
    if(otherParams?.yearMonth){
    	otherParams.beginDate=dayjs(otherParams?.yearMonth[0]).format('YYYY-MM')
        otherParams.endDate=dayjs(otherParams?.yearMonth[1]).format('YYYY-MM')
     }
    console.log('查询机构提交参数', {
        pageCurrent: pageNum,
        pageSize,
        ...otherParams,
    });
    //return []
    let {
        data,
        success,
    } = await pageQry({
        pageCurrent: pageNum,
        pageSize,
        ...otherParams,
    });
    console.log("data", data)
    console.log("data.pageInfo.records", data.pageInfo.records)
    let aaa = data.pageInfo.records
    const bbb = aaa.map((item: any, index: number) => {
        // console.log("itemitemitemitem", item)
        item.no = Number(pageSize) * (Number(pageNum) - 1) + index + 1;
        return { ...item };
    });
    setDataSourceS(bbb)
    return {
        // data: dataSource,
        success,
        total: data.pageInfo.total,
    };
 }}

出自 申创衡金科技网络有限公司

相关推荐
人工智能训练师3 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
Seveny073 小时前
pnpm相对于npm,yarn的优势
前端·npm·node.js
yddddddy4 小时前
css的基本知识
前端·css
昔人'4 小时前
css `lh`单位
前端·css
前端君4 小时前
实现最大异步并发执行队列
javascript
Nan_Shu_6145 小时前
Web前端面试题(2)
前端
知识分享小能手5 小时前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
蚂蚁RichLab前端团队6 小时前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
孩子 你要相信光7 小时前
css之一个元素可以同时应用多个动画效果
前端·css
萌萌哒草头将军7 小时前
Oxc 和 Rolldown Q4 更新计划速览!🚀🚀🚀
javascript·vue.js·vite