如何获取视图的大小,然后将其渲染为react-native FlatList getItemLayout

时间:2018-01-01 14:31:31

标签: react-native react-native-flatlist

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

  1. 在加载时,遍历数据集以获取列表并计算每行的高度
  2. 将计算出的数据缓存到数组或字典中
  3. 返回getItemLayout中的缓存数据取决于索引
  4. 问题是 - 在将视图装入DOM层次结构之前,我找不到如何计算视图高度的方法。我阅读了很多关于onLayout道具的内容,但看起来View应首先呈现,以使其发挥作用。

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

1 个答案:

答案 0 :(得分:1)

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

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