입사 후, 기본적인 것들을 익히기 위한 프로젝트
2022년 03월 18일 금요일 한 것
Apollo Client, Styled-Components, Ant Design, React-router-dom, Type Script커밋 등은 최대한 세세하게 하기(한글이어도 상관없음 -> 영어공부좀 하자..)
React-router-dom을 통한 라우팅
보통은 진행할때 그냥 바로 App에다가 Route를 나열해서 라우팅했는데, 이것을 좀 더 관리하기 용이하도록 다음과 같이 설정했다.
// App.tsx
function App() {
return <RouterContainer />;
}
// RouterContainer.tsx
import ROUTES from "./utils/routeName";
function RouterContainer() {
return (
<Router>
<Switch>
{Object.keys(ROUTES).map((route) => {
const { path, component } = ROUTES[route];
return <Route key={route} path={path} component={component} exact />;
})}
</Switch>
</Router>
);
}
// utils/routeName.tsx
interface RoutesValue {
path: string;
component: () => JSX.Element;
}
interface RoutesType {
[key: string]: RoutesValue;
}
const ROUTES: RoutesType = {
HOME: { path: "/home", component: HomeContainer },
LOGIN: { path: "/", component: LoginContainer },
};
이렇게하면, 추가적인 라우팅 소요가 발생했을때, 그냥 저기에 하나만 더 추가해주면 바로 적용이 가능해졌다.