meliorence / react-native-snap-carousel

Swiper/carousel component for React Native featuring previews, multiple layouts, parallax images, performant handling of huge numbers of items, and more. Compatible with Android & iOS.
BSD 3-Clause "New" or "Revised" License
10.37k stars 2.29k forks source link

Snaptoitem doesn't work with more than 10 elements? #513

Open bishnudev opened 5 years ago

bishnudev commented 5 years ago

Is this a bug report, a feature request, or a question?

Question

There're 11 cards in my snap carousel. When i try snapToItem(i) where i < 10, it works perfectly fine but when i try snapToItem(10), it just moves to the 10th card. Isn't it supposed to move to the 11th card since i'm passing a index of 10. Is there any kind of limit over number of cards in the snapcarousel?

LimAlbert commented 5 years ago

Hello,

I had the same issue and I solved it by using the initialNumToRender prop ! By default, all the slides are not rendered for optimization so I guess that's why snapToItem was not able to find the slide :)

eggybot commented 5 years ago

It looks like the new version 3.8.0 has a bug, I only have 3 items but snaptoitem works only for the first call/action then its not functioning, same with snaptonext and snaptoprev. I;m using the latest RN0.59.8

@LimAlbert initialNumToRender didn't work for me

cr1s3c commented 5 years ago

@eggybot i have the same issue, do you have any solution?

eggybot commented 5 years ago

@cr1s3c I revert back to version 3.7.5, will wait till this issue resolve.

cr1s3c commented 5 years ago

@eggybot thank you, after reverting to 3.7.5 and reverting react from 16.8.3 to 16.6.3 it is working again.

bd-arc commented 5 years ago

Well, I now need to find out which one of the PR I recently merged is responsible for that.

443 is a strong candidate IMO. If someone has the time to test if reverting this fixes the issue, I'd really appreciate it.

rafalzawadzki commented 5 years ago

I have the same issue and going back to 3.7.5 did not solve the problem. React 16.8.3 and RN0.59.8.

@bd-arc I tested if reverting this on 3.8.0 solves the issue, but unfortunately seems not...

eggybot commented 5 years ago

@rafalzawadzki try uninstall/install it works for me.

hanwenbo commented 5 years ago

@eggybot Thanks 3.7.5 for fixing my problem

vittau commented 4 years ago

Any update on this? I have a Carousel with almost 300 items, and it's simply impossible to set initialNumToRender that large with acceptable performance. :(

bd-arc commented 4 years ago

@vittau Have you given a try to version 4.0.0-beta.4?

We're now relying on FlatList's initialScrollIndex, which should help with large datasets.

vittau commented 4 years ago

@vittau Have you given a try to version 4.0.0-beta.4?

We're now relying on FlatList's initialScrollIndex, which should help with large datasets.

Thank you! It really does work correctly now without having to set initialNumToRender. :)

Navipro70 commented 3 years ago

Something interesting I meet when trying fix this problem. I have very loaded screen with carousel of video components and custom interface. When I snap from 1 video to 10+, slider stucks on 6-7th card, but when I set prop windowSize={SCREEN_WIDTH} bug disappeared and I successfully snap from 1 to 40 without stucks.

Tested on iPhone 11, iPhone 6s.

UPD: Yep since it's common flatlist, windowSize eats RAM

dohooo commented 3 years ago

Sorry, please allow me to advertise for my open source library! ~ I think this library react-native-reanimated-carousel will solve your problem. It is a high performance and very simple component, complete with React-Native reanimated 2

alirehmanappcrates commented 2 years ago

I tried both windowSize and initialNumToRender props but still, it gets stuck on the 6th and 7th item if I call snapToItem(10+)