UNPKG

playtpus_ui

Version:
27 lines (21 loc) 695 B
import { useState, useEffect } from 'react'; const usePagination = (len: number, max: number)=> { const [ length, setLength ] = useState(len) const [ page, setPage ] = useState(0); const maxPage = Math.ceil(length / max); const canGoBack = page > 0; const canGoForward = page < (maxPage -1) const backward = ()=> canGoBack && setPage(page - 1) const forward = ()=> canGoForward && setPage(page + 1) useEffect(()=> setLength(len), [len]); return { page, needsPagination: maxPage > 1, canGoBack, canGoForward, actions: { forward, backward } } } export default usePagination;