Skip to content

Commit 0ae0d2e

Browse files
committed
fix : loading 상태를 나타내는 변수명 변경
- 기존의 loading 상태를 나타내는 변수명의 의미를 확실히 정의하지 않는 형태의 변수명을 사용하여 혼동을 불러 일으킴 - loadingState라는 이름의 변수로 변경하여, 변수값을 의미하도록 명사형으로 바꾸고 loading 상태일 때 true를 가지도록 규칙ㅈ을 정함
1 parent ae024c7 commit 0ae0d2e

File tree

3 files changed

+18
-26
lines changed

3 files changed

+18
-26
lines changed

frontend/src/AppRouter.tsx

+11-19
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,16 @@ import GlobalErrorBoundary from "./GlobalErrorBoundary";
66
import PrivateRoute from "./components/common/route/PrivateRoute";
77
import PublicRoute from "./components/common/route/PublicRoute";
88

9-
const createPrivateRouter = (children: RouteObject[]) => {
10-
const privateRoute = {
11-
element: <PrivateRoute />,
12-
children,
13-
};
14-
return privateRoute;
15-
};
9+
type RouteType = "PRIVATE" | "PUBLIC";
1610

17-
const createPublicRouter = (children: RouteObject[]) => {
18-
const publicRoute = {
19-
element: <PublicRoute />,
20-
children,
21-
};
22-
return publicRoute;
11+
const createAuthCheckRouter = (routeType: RouteType, children: RouteObject[]) => {
12+
const authCheckRouter = children.map((child: RouteObject) => {
13+
return {
14+
element: routeType === "PRIVATE" ? <PrivateRoute /> : <PublicRoute />,
15+
children: [child],
16+
};
17+
});
18+
return authCheckRouter;
2319
};
2420

2521
const router = createBrowserRouter([
@@ -35,25 +31,21 @@ const router = createBrowserRouter([
3531
index: true,
3632
element: <TempHomepage />,
3733
},
38-
createPublicRouter([
34+
...createAuthCheckRouter("PUBLIC", [
3935
{
4036
path: ROUTER_URL.LOGIN,
4137
element: <LoginPage />,
4238
},
43-
]),
44-
createPublicRouter([
4539
{
4640
path: ROUTER_URL.SIGNUP,
4741
element: <SignupPage />,
4842
},
49-
]),
50-
createPublicRouter([
5143
{
5244
path: `${ROUTER_URL.AUTH}/*`,
5345
element: <AuthPage />,
5446
},
5547
]),
56-
createPrivateRouter([
48+
...createAuthCheckRouter("PRIVATE", [
5749
{
5850
path: ROUTER_URL.PROJECTS,
5951
element: <ProjectsPage />,

frontend/src/components/common/route/PrivateRoute.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ import { useErrorBoundary } from "react-error-boundary";
55
import RouteLoading from "./RouteLoading";
66

77
const PrivateRoute = (): React.ReactElement => {
8-
const [isLoading, setIsLoading] = useState<Boolean>(true);
8+
const [loadingState, setLoadingState] = useState<Boolean>(true);
99
const { showBoundary } = useErrorBoundary();
1010

1111
useEffect(() => {
1212
checkAuthentication().then((result: Boolean | unknown) => {
1313
if (result === true) {
14-
setIsLoading(false);
14+
setLoadingState(false);
1515
} else {
1616
showBoundary(result);
1717
}
1818
});
1919
}, [checkAuthentication]);
2020

21-
return isLoading ? <RouteLoading /> : <Outlet />;
21+
return loadingState ? <RouteLoading /> : <Outlet />;
2222
};
2323

2424
export default PrivateRoute;

frontend/src/components/common/route/PublicRoute.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@ import { Navigate, Outlet } from "react-router-dom";
55
import { ROUTER_URL } from "../../../constants/path";
66

77
const PublicRoute = () => {
8-
const [isLoading, setIsLoading] = useState<Boolean>(false);
8+
const [loadingState, setLoadingState] = useState<Boolean>(true);
99
const [authenticated, setAuthenticated] = useState<Boolean>(false);
1010

1111
useEffect(() => {
1212
checkAuthentication().then((result) => {
1313
if (result === true) {
14-
setIsLoading(true);
14+
setLoadingState(false);
1515
setAuthenticated(true);
1616
} else {
17-
setIsLoading(true);
17+
setLoadingState(false);
1818
setAuthenticated(false);
1919
}
2020
});
2121
}, [checkAuthentication]);
2222

23-
return !isLoading ? (
23+
return loadingState ? (
2424
<RouteLoading />
2525
) : !authenticated ? (
2626
<Outlet />

0 commit comments

Comments
 (0)