<SectionList
sections={[{ data: [1, 2] }, { data: [3, 4] }]}
renderItem={({ item, index }) => ...}
renderSectionHeader={({ section, index }, i) => {
console.log(index, i); // both undefined
}}
/>
我想获取renderSectionHeader
中的节的索引。
例如,当section.data
为[1, 2]
时,index
应为0;当section.data
为[3, 4]
时,index
应为1。
除了向sections
数据添加索引之外,如何才能实现这一点?
3条答案
按热度按时间3mpgtkmj1#
react native的SectionList中没有renderSectionHeader的节索引,但您可以向节添加索引属性,如下所示
然后像这样访问renderSectionHeader中的索引
ymzxtsji2#
我知道这有点晚了,但也许这对某些人有帮助。一个更好的方法是从你传递给SectionList组件的数组中获取你的section的索引。例如,假设你有
dataList
作为数组,它被传递给sectionsections={dataList}
,那么你可以如下所示获取索引:希望这个有用。
lymnna713#
在我的例子中,由于我的数组有不同的结构,我需要首先将它转换为
title
和data
,但添加了index
:reduce()
的第三个参数是一个索引,所以我提取了它,并在将它推入transformedData数组时在新对象中显式创建了一个index
。现在,在
renderSectionHeader
属性中,我可以使用extractindex
从结构化的section
中提取index
。