import { useRequest } from '@sa/hooks'; import type { DescriptionsProps } from 'antd'; import { fetchGetUserList } from '@/service/api'; const { Title } = ATypography; type Item = T extends any[] ? T[number] : T; type ValuesOf = T[keyof T]; type Values = ValuesOf; function transformDataToItem( tuple: [T, U] ): NonNullable> { return { children: tuple[1], key: tuple[0], label: tuple[0] }; } const Component = () => { const [current, setCurrent] = useState(1); const { data, loading } = useRequest(fetchGetUserList, { params: { current, size: 10 } }); const items = data ? Object.entries(data.records[0]).map(transformDataToItem) : []; function handleChange() { setCurrent(current + 1); } return ( useRequest 示例
下一页数据

项目的useRequest相较于阿里的ahooks的useRequest,依赖刷新进行了重写,多加了一个params参数,自动推导类型并且当其中一个参数发生变化时,会自动刷新请求,使用最新的参数。

{items.length > 0 ? ( ) : ( )}
); }; export default Component;