Skip to content

Commit 15a9ffa

Browse files
Merge pull request #151 from D3vPals/feat/#150
지원자 리스트 페이지 - 렌더링 성능 개선(issue #150)
2 parents 27fe1ca + 5f6c7d0 commit 15a9ffa

File tree

4 files changed

+10
-5
lines changed

4 files changed

+10
-5
lines changed

src/components/common/sidebar/Sidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { NavLink, useLocation } from 'react-router-dom';
22
import Avatar from '../avatar/Avatar';
33
import * as S from './Sidebar.styled';
4-
import { useCallback, useEffect, useState } from 'react';
4+
import React, { useCallback, useEffect, useState } from 'react';
55
import EditMyProfileImg from './editMyProfileImg/EditMyProfileImg';
66
import useAuthStore from '../../../store/authStore';
77

@@ -69,4 +69,4 @@ const Sidebar = ({ menuItems, profileImage, nickname }: SidebarProps) => {
6969
);
7070
};
7171

72-
export default Sidebar;
72+
export default React.memo(Sidebar);

src/components/manageProjects/ProjectHeader.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as S from './ProjectHeader.styled';
22
import Title from '../common/title/Title';
33
import { ProjectDetailExtended } from '../../models/projectDetail';
44
import RecruitmentDate from './RecruitmentDate';
5+
import React from 'react';
56
interface ProjectHeaderProps {
67
projectData: ProjectDetailExtended;
78
}
@@ -18,4 +19,4 @@ function ProjectHeader({ projectData }: ProjectHeaderProps) {
1819
);
1920
}
2021

21-
export default ProjectHeader;
22+
export default React.memo(ProjectHeader);

src/mock/browser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
import { userPageAppliedProjectList, userPageProfile } from './userpage';
1818

1919
export const handlers = [
20+
passNonPassList,
2021
myProjectList,
2122
applicantList,
2223
projectDetail,
@@ -29,7 +30,6 @@ export const handlers = [
2930
myPageAppliedProjectList,
3031
userPageProfile,
3132
userPageAppliedProjectList,
32-
passNonPassList,
3333
];
3434

3535
export const worker = setupWorker(...handlers);

src/pages/manage/myProjectVolunteer/MyProjectVolunteer.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,20 @@ import MainLogo from '../../../assets/mainlogo.svg';
1919
import Modal from '../../../components/common/modal/Modal';
2020
import { useModal } from '../../../hooks/useModal';
2121
import ProjectHeader from '../../../components/manageProjects/ProjectHeader';
22+
import { useMemo } from 'react';
2223

2324
const MyProjectVolunteer = () => {
2425
const { projectId } = useParams();
25-
const sidebarMenuItem = applicantsMenuItems(Number(projectId));
2626
const { data: projectData } = useGetProjectData(Number(projectId));
2727
const { isOpen, handleModalClose, handleModalOpen, message } = useModal();
2828
const { handlePassNonPassStatus } = usePassNonPassMutation(
2929
Number(projectId),
3030
handleModalOpen
3131
);
32+
const sidebarMenuItem = useMemo(
33+
() => applicantsMenuItems(Number(projectId)),
34+
[projectId]
35+
);
3236
const { applicantsData, isApplicantLoading } = useApllicantList(
3337
Number(projectId)
3438
);

0 commit comments

Comments
 (0)