首页 > 解决方案 > 反应原生 FlatList scrollToItem 错误

问题描述

我正在使用 React NativeFlatList组件。单击列表项时,它会向列表中添加更多项,并使用该功能滚动到其中一项ScrollToItem。有时滚动时我会在 android 上收到此错误:

scrollToIndex 应该与 getItemLayout 或 onScrollToIndexFailed 一起使用,否则无法知道屏幕外索引的位置或处理失败。

我尝试实现该getItemLayout功能,但我的物品没有固定高度,而且我有多种不同高度的物品。

标签: react-nativereact-native-androidreact-native-iosreact-native-flatlist

解决方案


是的,ScrollToItem 函数要求每个项目具有相同的高度。您可以使用函数scrollTo。

例子:

renderItem={({item})=>{<View onLayout={(e)=> console.log(e.nativeEvent.layout.y)}/>}} /*save each item location*/

然后调用函数 scrollTo({x: 0, y: /* 你之前保存的 */, animated: true})

希望这对你有用


推荐阅读