[월간코딩] #2 Side Bar 만들기

1. Layout 만들기

Layout의 구성

Layout 코드

import React from 'react';
import SideBar from './sidebar/sidebar.container';
import styled from 'styled-components';

interface IProps {
  children: React.ReactElement;
}

export const WrapperRow = styled.div`
  display: flex;
  flex-direction: row;
`;

export default function Layout({ children }: IProps) {
  return (
    <>
      <header>header</header>
      <WrapperRow>
        <SideBar />
        <main>{children}</main>
      </WrapperRow>
      <footer>footer</footer>
    </>
  );
}

주의 : Props로 ReactElement를 받도록 해야한다.

2. 사이드 바 만들기

사이드 바 CSS

import styled from 'styled-components';

export const LayoutSidebar = styled.aside`
  width: 200px;
  height: 100vh;
  position: sticky;
  overflow: auto;
  background-color: #f8f9fa;
`;

3. Layout 으로 감싸주기

root.render(
  <React.StrictMode>
    <ThemeProvider theme={theme}>
      <GlobalStyle />
      <Layout>
        <App />
      </Layout>
    </ThemeProvider>
  </React.StrictMode>
);