轮播反应本机优先项不会动态更新



我有一个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)

最新更新