如何以自定义排序顺序对 rss 提要进行排序以放入 React Native 部分列表中



我有一个对象数组,其中每个对象代表一个rss提要,每个对象都有一个"更新"字段,其值是以毫秒为单位的时间戳,显示上次更新该提要的时间。我需要将这些数据放入 React Native SectionList 中。

我想组织提要,使其看起来类似于Google收件箱对电子邮件进行排序的方式,即按"更新"排序,以便这些部分是"今天","昨天","本周","本月",然后其他所有内容都应该按月份和年份分组。

我已经尝试了许多不同的方法来做到这一点,但最终,我无法正确排序。我最接近的是让 SectionList 渲染出这样排序的东西:[...所有旧的东西,"今天","昨天","本周","本月"]

无论我如何解决这个问题,我似乎都无法按正确的顺序排列。最好的方法是什么?

可能不是最好的方法,但你可以制作 4 个不同的数组。像这样:

let lt1=lt2=lt3=lt4 = [];
myCol.map(item=>{
 if (item is today)
   lt1.push(item);
 if (item is yesterday)
   lt2.push(item)
 ....
})

然后,您可以将所有列表放在渲染图上:

<SectionList
  renderItem={({item}) => <ListItem title={item} />}
  renderSectionHeader={({section}) => <Header title={section.title} />}
  sections={[ // homogenous rendering between sections
    {data: lt1, title: 'Today'},
    {data: lt2, title: 'Yesterday'},
    {data: lt3, title: 'This Week'},
    {data: lt4, title: 'This Month'}
  ]}
/>

最新更新