13
<SectionList
  sections={[{ data: [1, 2] }, { data: [3, 4] }]}
  renderItem={({ item, index }) => ...}
  renderSectionHeader={({ section, index }, i) => {
    console.log(index, i); // both undefined
  }}
/>

我想在renderSectionHeader.
例如。index当 is时应为 0,当section.datais时应为[1, 2]1 。section.data[3, 4]

除了将索引添加到sections数据中之外,我如何才能做到这一点?

4

2 回答 2

29

react native 的 SectionList 中没有 renderSectionHeader 的部分索引,但是您可以像这样向您的部分添加索引道具

 sections={[{ data: [1, 2], index:0 }, { data: [3, 4], index:1 }]}

然后像这样访问 renderSectionHeader 中的索引

 renderSectionHeader={({section}) => {
     console.log(section.index); 
 }}
于 2018-05-12T13:27:23.383 回答
4

我知道已经晚了,但也许它可以帮助某人。更好的方法是从传递给 SectionList 组件的数组中获取节的索引。例如,假设您有dataList作为数组传递给 section sections={dataList},那么您可以获得如下索引:

renderSectionHeader={({ section }) => {
    const index = dataList.indexOf(section)
    // Here you have the index
    return <View />
}}

希望这可以帮助。

于 2020-03-16T11:50:49.203 回答