usePagination
Функция для работы с пагинацией.
Ответ от API должен приходить в следующем формате
ts
interface Pagination<TResponse> {
/** Количество результатов */
count: number
/** Следующая страница */
next: string | null
/** Предыдущая страница */
previous: string | null
/** Результаты запроса */
results: TResponse
}Параметры
url-URLдля запросаoptions- параметры запроса. Присутствует параметрauth, который позволяет выполнять запросы используяuseFetchAuth.
Возвращаемый объект
Функция возвращает объект с методами для работы с пагинацией.
increasePage- функция для увеличения номера страницы.decreasePage- функция для уменьшения номера страницы.isPageLast- возвращаетtrueесли текущая страница последняя.results- массив с результатами запроса.refresh- функция для обновления запроса.
Использование
ts
const {
increasePage,
isPageLast,
results: doctors,
} = await usePagination<DoctorCard>("/doctors/", {
baseURL: useRuntimeConfig().public.apiBase,
})