leecade/react-native-swiper
在 GitHub 查看Loop={true} + initialIndex leads to brief off by one error flicker
Open
#1,003 创建于 2019年6月30日
component: ViewPagerhelp wanted🐛bug🔎investigate
仓库指标
- Star
- (10,334 star)
- PR 合并指标
- (30 天内没有已合并 PR)
描述
Which OS ?
iOS
Version
1.6
- react-native-swiper v1.6
- react-native v0.59.8
Expected behaviour
I was debugging an issue where setting the index param briefly showed the wrong data (off by one earlier) for a brief second before a redraw happened.
In debugging, this seems to be related to the loop={true} behavior (the default), since eliminating looping causes the offset to be calculated correctly and no flicker.
I'm guessing the implementation has some kind of 'extra' item at the front to handle the left-swipe when looping, and the initialOffset is not accounting for this?
Actual behaviour
Setting index causes it to start drawing on the correct position without a flicker.
Steps to reproduce
- Create a Swiper with multiple items, and loop={true}
- Set the initial index.
- Observe that it is briefly off by one before correcting itself.