如何在为反应原生FlatList getItemLayout渲染视图之前获取视图的大小

Geo*_*rge 6 react-native react-native-flatlist

我需要initialScrollIndex在FlatList上设置为1,因此第二行在初始加载时将可见.这取决于getItemLayout.我的FlatList单元格包含不同长度的文本,这导致每个单元格的高度不同,这导致我无法返回固定值getItemLayout.我的策略是:

  1. 在加载时,遍历数据集以获取列表并计算每行的高度
  2. 将计算的数据缓存到数组或字典中
  3. getItemLayout中的返回缓存数据取决于索引

问题是 - 在将视图装入DOM层次结构之前,我找不到如何计算视图高度的方法.我读了很多关于onLayout prop的内容,但看起来View应该首先渲染才能让它工作.

那么,当列表单元格对于每一行不相同时,您使用什么来实现在react-native中滚动到指定行?

Ale*_*lov 1

我的第一个想法 - 尝试将其隐藏,调整大小并使其可见。

编辑:您还可以尝试使用react-native-text-size手动计算单元格高度。