import React, { forwardRef, useImperativeHandle, useMemo, useState, } from "react"; import { View } from "react-native"; import { PagerViewProps, PagerViewRef } from "./pager-view"; const PagerView = forwardRef( ({ children, initialPage }, ref) => { const [curPage, setPage] = useState(initialPage || 0); useImperativeHandle(ref, () => ({ setPage, setPageWithoutAnimation: setPage, })); const content = useMemo(() => { if (!Array.isArray(children)) { return null; } return children.map((element, index) => { return ( {element} ); }); }, [curPage, children]); return content; } ); export default PagerView;