我正在实现一个SectionList,显示需要滚动到当前周的周数列表,因此我使用的是initialScrollIndex. 我面临的问题是我真的不明白给我的_getItemLayout索引是什么? 有时数据[index] === undefined,这对我
我面临的问题是我真的不明白给我的_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,我们在处理索引时必须非常小心.