Я хочу отобразить список предметов (проектов), сгруппированных по месяцам и годам ...
Для группировки я сделал следующее и напечатал результаты, которые кажутся хорошими:
// this gives an object with dates as keys
const groups = filteredProjects.reduce((groups, project) => {
//const date = project.Properties.ModificationTime.Value.split('T')[0];
//const month = moment(project.Properties.ModificationTime.Value, 'YYYY-MM-DD').format('MMM');
const date = moment(project.Properties.ModificationTime.Value, 'YYYY-MM-DD').format('MMM-YYYY');
if (!groups[date]) {
groups[date] = [];
}
groups[date].push(project);
return groups;
}, {});
// Edit: to add it in the array format instead
const groupedProjects = Object.keys(groups).map((date) => {
return {
date,
projects: groups[date]
};
});
Теперь я хочу сделать так, чтобы каждый месяц имел свои собственные компоненты проектов. Поэтому я попробовал следующее:
{groupedProjects.map((date, arr) => (
<div className="inline">
{date}
{arr.map((item) =>
<Project
key={item.Name}
project={item}
/>
)}
</div>
))}
Но это не работает. Как я могу сделать карту таким образом?