UNPKG

@thehappycoder/react-responsive-pagination

Version:
17 lines (16 loc) 726 B
import React, { forwardRef, useMemo, useRef } from 'react'; import { viewItemToSkinItem } from './viewItemToSkinItem'; export function useView(skin, handlePageChange) { var handlePageChangeRef = useRef(null); handlePageChangeRef.current = handlePageChange; return useMemo(function () { return createView(skin, handlePageChangeRef); }, [skin]); } function createView(Skin, handlePageChangeRef) { var View = forwardRef(function (_a, ref) { var viewItems = _a.items; var handlePageChange = handlePageChangeRef.current; var skinItems = viewItems.map(viewItemToSkinItem(handlePageChange)); return React.createElement(Skin, { ref: ref, items: skinItems }); }); return View; }