反应本机getItemLayout

web*_*jay 5 react-native

我正在实现一个SectionList显示星期的列表,该列表需要滚动到当前星期,因此我正在使用initialScrollIndex

我面临的问题是我真的不了解给我的索引_getItemLayout是什么?有时data[index] === undefined,这对我来说毫无意义。

我需要知道它是哪个部分,data[?]因为每个部分SectionList在该周的活动中都包含另一个部分,因此高度不是一个常数。

_getItemLayout = (data, index) => {
  const rows = (data[index] === undefined) ? 1 : data[index].data.reduce((sum, value) => value.data.length + sum, 0);
  const height = (rows * 94);
  return {
    length: height,
    offset: height * index,
    index
  };
}
Run Code Online (Sandbox Code Playgroud)

Pra*_*sun 3

已经过去很长时间了,但为了未来的读者想分享一些信息。

有一篇很好的文章解释了,请在这里getItemLayout找到

我也面临data[index]undefined。原因是index计算时考虑了section.data.length + 2(1 表示节标题,1 表示节页脚),您可以在此处找到代码(RN-52)

我们在处理时必须SectionList非常小心index