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,
})