所以我的 API 调用将返回平面列表必须呈现的每个项目 ID。我怎样才能参考我从 api 调用中获得的项目 ID 来设置初始 scrollToItem?我现在只能滚动到平面列表的索引,但不可能通过调用其属性来滚动到确切的项目。
<FlatList
data={this.state.dataSource}
renderItem={
({item}) => (
<VoucherList item={item} navigation={this.props.navigate} />
)
}
keyExtractor={item => item.id}
refreshing={this.state.refreshing}
onRefresh={this.handleRefresh}
initialScrollIndex={2}
getItemLayout={this.getItemLayout}
/>
上面是我现在的代码,我将初始滚动索引设置为 2。我想滚动到道具,例如,如果物品的 ID 为 2,我想将其引用到 ID。
任何帮助将不胜感激,或者可能是示例代码。
FlatList
没有你需要的东西。但是,您可以通过将initialScrollIndex
作为返回所需索引的函数提供FlatList
来解决此问题。这实际上取决于您的数据源包含的内容。在挂载FlatList
之前,您将需要数据,因为将尽快处理initialScrollIndex
。