无限循环无法使用loop={true},enableSnap ={true}列表无法在Android中使用react-native-snap-carousel滚动无限模式

cetgtptt  于 2022-11-17  发布在  React
关注(0)|答案(2)|浏览(59)

实际行为

我在卡中显示列表,卡不是在无限模式下滚动,它在Android中被击入中间

预期行为

在Android中滚动时,卡片应在无限模式下滚动

<Carousel
         ref={c => {
           this._carousel = c;
         }}
         carouselRef={this.props._slider1Ref}
         data={this.props.data}
         renderItem={this._renderItem}
         sliderWidth={this.props.sliderWidth}
         itemWidth={this.props.itemWidth}
         loop={true}
         loopClonesPerSide={this.props.loopClonesPerSide}
         firstItem={this.props.firstItem}
         onSnapToItem={index => this.onSnap(index)}
         layout={this.props.layout}
         layoutCardOffset={this.props.layoutCardOffset}
         showSpinner={this.props.showSpinner}
         activeSlideAlignment="start"
         useScrollView={false}
         activeSlideOffset={this.props.activeSlideOffset}
         lockScrollWhileSnapping={true}
         enableSnap={true}
         enableMomentum={false}
         activeSlideOffset={this.props.activeSlideOffset}
         decelerationRate="fast"
        // removeClippedSubviews={true}
         removeClippedSubviews={false}
       />
yyyllmsg

yyyllmsg1#

转到node_modules/react-native-snap-carousel/src/carousel/Carousel.js并编辑第820行

if (nextActiveItem === this._itemToSnapTo && scrollOffset === this._scrollOffsetRef) {
    this._repositionScroll(nextActiveItem);
 }

if (nextActiveItem === this._itemToSnapTo && Math.trunc(scrollOffset) === Math.trunc(this._scrollOffsetRef)) {
    this._repositionScroll(nextActiveItem);
 }
a14dhokn

a14dhokn2#

备注

虽然使用这个请记住一件事,不要使用模拟器运行应用程序。在我的情况下,它不是在模拟器中工作,但当我附加的iPhone在这种情况下工作正常。

相关问题