import * as React from 'react'; import { View } from 'react-native-ui-lib'; import Carousel, { ICarouselInstance } from 'rn-animated-carousel'; import { SBItem } from '../components/SBItem'; import SButton from '../components/SButton'; import { ElementsText, window } from '../constants'; const PAGE_WIDTH = window.width; function Index() { const [data, setData] = React.useState([...new Array(6).keys()]); const [isVertical, setIsVertical] = React.useState(false); const [isFast, setIsFast] = React.useState(false); const [isAutoPlay, setIsAutoPlay] = React.useState(false); const ref = React.useRef(null); const baseOptions = isVertical ? ({ vertical: true, width: PAGE_WIDTH, height: PAGE_WIDTH / 2, } as const) : ({ vertical: false, width: PAGE_WIDTH, height: PAGE_WIDTH / 2, } as const); return ( console.log('current index:', index)} renderItem={({ index }) => } /> { setIsVertical(!isVertical); }} > {isVertical ? 'Set horizontal' : 'Set Vertical'} { setIsFast(!isFast); }} > {isFast ? 'NORMAL' : 'FAST'} { setIsAutoPlay(!isAutoPlay); }} > {ElementsText.AUTOPLAY}:{`${isAutoPlay}`} { console.log(ref.current?.getCurrentIndex()); }} > Log current index { setData( data.length === 6 ? [...new Array(8).keys()] : [...new Array(6).keys()] ); }} > Change data length to:{data.length === 6 ? 8 : 6} { ref.current?.scrollTo({ count: -1, animated: true }); }} > prev { ref.current?.scrollTo({ count: 1, animated: true }); }} > next ); } export default Index;