diff --git a/src/components/carousel/index.tsx b/src/components/carousel/index.tsx index 561fc102c2..ba675fdb5d 100644 --- a/src/components/carousel/index.tsx +++ b/src/components/carousel/index.tsx @@ -308,10 +308,9 @@ class Carousel extends Component { // finished full page scroll const {currentStandingPage, currentPage} = this.state; const pagesCount = presenter.getChildrenLength(this.props); - + if (currentPage < pagesCount) { this.setState({currentStandingPage: currentPage}); - if (currentStandingPage !== currentPage) { this.props.onChangePage?.(currentPage, currentStandingPage, {isAutoScrolled: this.isAutoScrolled}); this.isAutoScrolled = false; @@ -511,7 +510,7 @@ class Carousel extends Component { showsHorizontalScrollIndicator={false} showsVerticalScrollIndicator={false} decelerationRate="fast" - scrollEventThrottle={200} + scrollEventThrottle={Constants.isAndroid ? 16 : 200} // Android needs 16ms throttle to reliably catch loop boundary during fast swipes (Ticket 4885) {...others} ref={this.carousel} onScroll={animatedScrollOffset ? this.onScrollEvent : this.onScroll}