☀️ 기상시간 - 6:30 (그렇다고 바로 공부를 시작한건 아님ㅎ)
🌕 마감시간 - 24:00
오늘까지 중첩 routing을 셀프로 시도해보고 안되면 도움을 받으려고 했는데,
잠들기 전에 갑자기 번뜩 떠오른 생각으로 한번 시도해봤더니 성공했다! 드디어...
메인페이지에서는 nav bar가 보이지 않고 component 소개페이지에서만 띄울 수 있도록 하는 구조를 짰다.
그동안 중첩 routing을 위해 <RootRouter>
밑으로 <Items> <Header>
등의 component들을 단일구조로 넣었더니 자꾸만 nav bar가 메인페이지부터 고정이 되어버려서 답답했었다.
그러던 중 중첩 routing의 예제를 보다가 한단계의 component를 만들어서 children으로 넘겨주면 어떨까 싶은 생각이 들어서 <ComponentList>
를 만들어서 그 안에 추가적으로 <Items>
를 만든 후 <RootRouter>
에서 children으로 받았더니 됬다!
<RootRouter>
<ComponentList>
<Items />
</ComponentList>
</RootRouter>
RootRouter.js
export default function RootRouter({children}) {
const NotFound = () => {
return <div>sorry, Not Found.</div>
}
return(
<Container>
<Switch>
<Route exact path="/" component={Main} />
<Route path="/about" component={About} />
{children}
<Route path="/button" component={ButtonBoard} />
<Route path="/check-box" component={CheckBoxBoard} />
<Route path="/popover" component={PopoverBoard} />
<Route component={NotFound} />
</Swtich>
</Container>
)
ComponentList.js
export default function ComponentList({children}) {
return(
<Container>
<ListContainer>
<Link to="/button">Button</Link>
<Link to="/check-box">Check-Box</Link>
<Link to="/popover">Popover</Link>
</ListContainer>
<ContentContainer>
<Route exact path="/button" component={ButtonBoard} />
<Route path="/check-box" component={CheckBoxBoard} />
<Route path="/popover" component={PopoverBoard} />
</ContentContainer>
<MainButton>
{children}
</MainButton>
</Container>
)
Items.js
export default function Items() {
return(
<Container>
<Link to="/">Main으로 가는 버튼</Link>
</Container>
)
스타일링을 할 때 우측하단에 홈 모양의 Main으로 이동하는 버튼을 만들어서 중복되게 사용하려 했는데 이 파일에 만들면 같은 위치에 띄울 수 있을 것 같다.
이전에 알아둔 방법인데 정리해두지 못해서 오늘에서야 정리하는 사용법..!
구글메인페이지의 폰트를 비슷하게나마 따라하고 싶어서 g 모양을 중점으로 비슷한 글꼴을 구글폰트에서 찾아서 적용법을 알아봤더니 여러가지 방법이 있었다.
그중 그나마 쉬운 방법을 찾아서 적용했다.
바로 css파일에 url을 import 하는 것!
@import url();
@font-face {
font-family: 'Roboto', sans-serif;
src: url();
}