Skip to content

Commit 105fd8f

Browse files
committed
hotfix: isloading 제거
1 parent 5a5626e commit 105fd8f

3 files changed

Lines changed: 44 additions & 31 deletions

File tree

src/hooks/useMemberQueries.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export const useMemberQueries = () => {
2727
const response = await getMembers();
2828
return response.data;
2929
},
30+
suspense: true,
3031
});
3132

3233
const members = membersData || [];

src/hooks/useProjectQueries.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export function useProjects(filters = {}) {
2020
}
2121
return { projects: [], total: 0, statusCounts: {}, delayed: 0 };
2222
},
23+
suspense: true,
2324
// staleTime: 5 * 60 * 1000,
2425
});
2526
}

src/pages/ProjectManager.jsx

Lines changed: 42 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import React, { useState, useMemo } from 'react';
1+
import React, { useState, useMemo, Suspense } from 'react';
2+
import { ErrorBoundary } from 'react-error-boundary';
23
import ProjectHeader from '../components/project/ProjectHeader';
34
import ProjectStats from '../components/project/ProjectStats';
45
import ProjectFilters from '../components/project/ProjectFilters';
56
import ProjectList from '../components/project/ProjectList';
67
import ProjectModal from '../components/project/ProjectModal';
78
import { useProjects, useCreateProject, useUpdateProject, useDeleteProject } from '../hooks/useProjectQueries';
89
import { useMemberQueries } from '../hooks/useMemberQueries';
10+
import { ProjectCardSkeleton, ErrorFallback } from '../components/common/loading/LoadingComponents';
911
/** 작성자: 김대호, 백승준 */
1012
const statusMap = {
1113
planning: 'TODO',
@@ -35,8 +37,8 @@ function ProjectManager() {
3537
sortBy: sortBy,
3638
}), [searchTerm, filters, sortBy]);
3739

38-
const { data: projectData, isLoading: projectsLoading, isError: projectsError } = useProjects(apiFilters);
39-
const { members: allMembers, loading: membersLoading, error: membersError } = useMemberQueries();
40+
const { data: projectData } = useProjects(apiFilters);
41+
const { members: allMembers } = useMemberQueries();
4042

4143
const createProjectMutation = useCreateProject();
4244
const updateProjectMutation = useUpdateProject();
@@ -58,33 +60,25 @@ function ProjectManager() {
5860
onViewTypeChange={setViewType}
5961
/>
6062

61-
{projectsLoading || membersLoading ? (
62-
<div>데이터를 불러오는 중...</div>
63-
) : projectsError || membersError ? (
64-
<div>에러가 발생했습니다.</div>
65-
) : (
66-
<>
67-
<ProjectStats
68-
total={projectData.total}
69-
stats={projectData.statusCounts}
70-
delayed={projectData.delayed}
71-
/>
72-
73-
<ProjectFilters
74-
filters={filters}
75-
onFiltersChange={setFilters}
76-
sortBy={sortBy}
77-
onSortChange={setSortBy}
78-
/>
79-
80-
<ProjectList
81-
projects={projectData.projects}
82-
viewType={viewType}
83-
onProjectSelect={setSelectedProject}
84-
onProjectDelete={handleDeleteProject}
85-
/>
86-
</>
87-
)}
63+
<ProjectStats
64+
total={projectData.total}
65+
stats={projectData.statusCounts}
66+
delayed={projectData.delayed}
67+
/>
68+
69+
<ProjectFilters
70+
filters={filters}
71+
onFiltersChange={setFilters}
72+
sortBy={sortBy}
73+
onSortChange={setSortBy}
74+
/>
75+
76+
<ProjectList
77+
projects={projectData.projects}
78+
viewType={viewType}
79+
onProjectSelect={setSelectedProject}
80+
onProjectDelete={handleDeleteProject}
81+
/>
8882

8983
{isCreateModalOpen && (
9084
<ProjectModal
@@ -125,4 +119,21 @@ function ProjectManager() {
125119
)
126120
}
127121

128-
export default ProjectManager;
122+
function ProjectManagerWithSuspense() {
123+
return (
124+
<ErrorBoundary
125+
FallbackComponent={({ error, resetErrorBoundary }) => (
126+
<ErrorFallback
127+
error={error}
128+
onRetry={resetErrorBoundary}
129+
/>
130+
)}
131+
>
132+
<Suspense fallback={<ProjectCardSkeleton count={8} />}>
133+
<ProjectManager />
134+
</Suspense>
135+
</ErrorBoundary>
136+
);
137+
}
138+
139+
export default ProjectManagerWithSuspense;

0 commit comments

Comments
 (0)