我有一个Carousel的问题,它是这样实现的:
<Carousel
key={3}
sliderWidth={device.windowWidth}
sliderHeight={device.windowHeight}
activeSlideAlignment="start"
itemWidth={device.windowWidth-20}
data={picklistItems}
firstItem={props.selectedPinkItemIndex ? props.selectedPinkItemIndex : 0}
scrollEnabled={true}
pointerEvents={'none'}
lockScrollWhileSnapping
我所面临的问题是,firstItem
'没有看到'状态(props. selectedpinkitemindex)更新-当我控制台。日志的道具。selectedPinkItemIndex,它是几次0,然后它更新到例如8,但Carousel看不到状态更新我总是卡在0。显然,如果我让firstItem={8}
正确地显示第8项,但动态地,它不起作用。
selectedPinkItemIndex在父组件中是这样设置的:
const [initialPicklistItemIndex, setInitialPicklistItemIndex] = useState<number>(0);
,然后像这样传递给carousel的组件:
selectedPinkItemIndex={initialPicklistItemIndex}
如果您正在使用react-native-snap-carouse,请尝试使用
snapToItem(index, animated = true)
。