12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { getToken } from "@/utils/Cookies";
- import { useState } from "react";
- /**
- * @description 加载更多 hooks
- * @param {Function} func 请求方法
- * @param {Object} params 请求参数
- * @return haMore 是否有更多
- * @return loadMore 加载更多方法
- * @return getData 获取数据方法
- */
- export default function useLoadMore(func: Function, params: any) {
- const token = getToken();
- const [hasMore, setHasMore] = useState(true);
- const loadMore = async () => {
- await func({
- ...params.current,
- });
- };
- const getData = async (params: any) => {
- if (!token) {
- setHasMore(false);
- return;
- }
- try {
- const res = await func(params);
- // setDataSource((val) => ({ ...val, list: [...val.list, ...res.data] }));
- setHasMore(!res.page.is_end!);
- } catch (error) {
- setHasMore(false);
- return Promise.reject();
- }
- };
- return {
- hasMore,
- loadMore,
- getData,
- };
- }
|