onIndexChanged getting wrong value

Author: shubh89193Created Apr 22, 2024Updated Aug 22, 2025

Which OS ?

ios 16

Version

Which versions are you using:

  • react-native-swiper v?
  • react-native v0.?.?

Expected behaviour

onIndexChanged it should give me on every swipe one index but when I am swiping slide for first swipe 0 , second swipe 1 , for third swipe 1

Actual behaviour

onIndexChanged it should give me on every swipe one index but when I am swiping slide for first swipe 0 , second swipe nothing returning , for third swipe it returning 2 and goes on due to this my logic working like this first video will playing 2nd video flicker and previous slide showing

How to reproduce it>

To help us, please fork this component, modify one example in examples folder to reproduce your issue and include link here.

renderSwiperContent = () => { console.log("current index on parent ",this.state.replayIndex) return ( <Swiper loop style={styles.swiper} dotStyle={styles.dot} activeDotStyle={styles.activeDot} paginationStyle={styles.pagination} //ref={this.videoRef}

      index={this.state.replayIndex}
     // onIndexChanged={(index) => this.setState({ replayIndex: index })}
    >
      {this.state.profileImageAttachments.map((item, index) =>(
        <View key={item.id} style={styles.slide}>
          {item.attributes.media_type.startsWith('image') ? (
            <Image
              resizeMode="cover"
              source={{ uri: item.attributes.images_and_videos_upload }}
              style={styles.image}
            />
          ) : (
            <>
              <VideoComp
                  uri={item.attributes.images_and_videos_upload} 
                  index={index}
                  currentIndex={this.state.replayIndex}/>
            
            </>
          )}
        </View>
      ))}
    </Swiper>
  </View>
);

};

initial replayIndex = 0

Steps to reproduce

Source: leecade/react-native-swiper