我现在有一张地图和一个旋转木马(类似于FlatList)我想要能够使用scrollToIndex方法FlatList切换到数组中的某一项。问题是当我采纳了反应-本地-快速-旋转木马库,它的基础是ScrollView,我失去了使用scrollToIndex方法。滚动到某个索引的功能非常适合FlatList.
我使用的是一个功能组件,所以我使用的是useRef钩:
const flatListRef = useRef()
const handleMarker = index => {
flatListRef.current.scrollToIndex({ index, animated: true })
}
我在用react-native-maps为了我的地图和handleMarker上面的情况是,当用户单击地图上的标记时,旋转木马会切换到相关项:
<Marker
key={marker.id}
coordinate={{ latitude: marker.latitude, longitude: marker.longitude }}
onPress={() => handleMarker(index)}
ref={markerRef[index]}
>
</Marker>
以下是取代FlatList:
<Carousel
data={items}
renderItem={({ item }) => <Item item={item}/>}
horizontal={true}
ref={flatListRef}
sliderWidth={width}
sliderHeight={100}
itemWidth={140}
itemHeight={100}
/>
如果没有scrollToIndex?
尝试使用提供的方法代替
const handleMarker = index => {
flatListRef.current.snapToItem(index);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。