如何从数组中添加 React Native 中的 SectionList 的部分
How to add SectionList 's sections in React Native from an array
我有一组名为电影的对象 (const movies = movie[]
)。电影具有以下属性:
movie: {
name: string;
description: string;
date: Date;
duration: number
}
我想使用 RN SectionList
组件,制作来自 movie.date
(日)的部分:
**20 june 2020:**
Movie name | description | duration
Movie name | description | duration
**18 april 2020:**
Movie name | description | duration
Movie name | description | duration
...
如何制作该部分以及如何按日期对电影数组进行分组?我正在使用 lodash,但是 const groupedMovies = groupBy(movies, movie => movie.date);
returns 是一个集合而不是一个数组。
因此您需要将数据从格式
转换为
{
"18 april 2020": [{...}, {...}, {...}],
...
}
进入格式
[
{ "title": "18 April 2020", "data": [{...}, {...}, {...}] },
...
]
您可以按如下方式进行转换
const groupedMovies = groupBy(movies, movie => movie.date);
let data = Object.entries(groupedMovies).map(([key, value]) => ({ title: key, data: value }))
或使用 lodash 的地图
const groupedMovies = groupBy(movies, movie => movie.date);
let data = map(groupedMovies, (value, key) => ({ title: key, data: value }))
我有一组名为电影的对象 (const movies = movie[]
)。电影具有以下属性:
movie: {
name: string;
description: string;
date: Date;
duration: number
}
我想使用 RN SectionList
组件,制作来自 movie.date
(日)的部分:
**20 june 2020:**
Movie name | description | duration
Movie name | description | duration
**18 april 2020:**
Movie name | description | duration
Movie name | description | duration
...
如何制作该部分以及如何按日期对电影数组进行分组?我正在使用 lodash,但是 const groupedMovies = groupBy(movies, movie => movie.date);
returns 是一个集合而不是一个数组。
因此您需要将数据从格式
转换为{
"18 april 2020": [{...}, {...}, {...}],
...
}
进入格式
[
{ "title": "18 April 2020", "data": [{...}, {...}, {...}] },
...
]
您可以按如下方式进行转换
const groupedMovies = groupBy(movies, movie => movie.date);
let data = Object.entries(groupedMovies).map(([key, value]) => ({ title: key, data: value }))
或使用 lodash 的地图
const groupedMovies = groupBy(movies, movie => movie.date);
let data = map(groupedMovies, (value, key) => ({ title: key, data: value }))