@thehappycoder/react-responsive-pagination
Version:
React component for responsive pagination
17 lines (16 loc) • 726 B
JavaScript
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;
}