как сделать код более производительным и аккуратным
Больше интересуют map sort и можно ли добавить сюда мемоизацию
const Projects = ( { projects, match, newProjectsId } ) => {
const { t } = useTranslation ();
projects.map ( project =>
newProjectsId.includes ( project.projectId ) ?
project.color = 'true'
:
project.color = 'false' );
projects.sort ( ( a ) => a.color === 'true' ? -1 : 1 );
return (
<ProjectsContainer>
<Switch>
<Route exact path={ `${ match.path }` } render={ () =>
<>
<TitleMd>{ t ( 'projectsPage.projects' ) }</TitleMd>
<ProjectsItemsWrapper>
{ projects && projects.map (
( project, idx ) =>
<Fragment key={ idx }>
<ProjectCard projectData={ project } />
</Fragment>
) }
</ProjectsItemsWrapper>
</>
} />
<Route exact path={ `${ match.path }/:projectKey` } component={ ProjectPage } />
</Switch>
</ProjectsContainer>
);
};
Ответы (1 шт):
Автор решения: Arturas Lapinskas
→ Ссылка
Первый projects.map, можно убрать, сделать сразу сортировку.
projects.sort ( ( project ) => newProjectsId.includes ( project.projectId ) ? -1 :1);