我正在实现一个SectionList,显示需要滚动到当前周的周数列表,因此我使用的是initialScrollIndex.
我面临的问题是我真的不明白给我的_getItemLayout索引是什么?
有时数据[index] === undefined,这对我来说没有意义.
我需要知道它是哪个部分(data [?]),因为每个部分包含该周事件的另一个SectionList,因此height不是常量.
_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
};
}
最佳答案 它已经很久了,但是对于未来的读者来说,想要分享一些信息.
有一篇很好的文章解释了getItemLayout,请找到它here
我还将数据[index]视为未定义.原因是索引的计算是考虑section.data.length 2(1表示节标题,1表示节页脚),你可以找到代码here (RN-52).
使用SectionList,我们在处理索引时必须非常小心.