결과 화면
1. node-sass 설치하기
node-sass 패키지를 설치한다.
설치가 완료되면 packae.json 파일에서 확인할 수 있다.
yarn add node-sass
또는
npm install node-sass
2. SCSS 작성하기
- src/assets/scss/components/header.scss
header {
width: 100%;
.inner {
display: flex;
justify-content: space-between;
align-items: center;
height: 80px;
h1 {
a {
font-family: 'Cherry Bomb One', cursive;
}
}
nav {
ul {
display: flex;
justify-content: space-between;
align-items: center;
li {
padding-left: 20px;
}
}
}
}
}
- src/components/layouts/Heaser.tsx
작성한 scss 파일을 상단에 import 시킨다.
import '../../assets/scss/components/header.scss'
const Header = () => {
return (
<>
<header>
<div className="inner">
<h1><a href="/">BOB</a></h1>
<nav>
<ul>
<li><a href="/">menu01</a></li>
<li><a href="/">menu02</a></li>
<li><a href="/">menu03</a></li>
</ul>
</nav>
</div>
</header>
</>
)
}
export default Header
- src/assets/scss/common.scss
reset.scss, font.scss 등 공통적으로 필요한 scss 파일을 페이지마다 import 하면 번거롭고, 코드도 길어지기 때문에 common.scss를 만들어 한 개의 scss 파일에 작성되도록 한다.
// base
@import './base/reset';
@import './base/font';
// layout
@import './layout/layout';
- src/App.tsx
최종적으로 common.scss를 App 컴포넌트에 import 한다.
import React from 'react'
import Layout from './components/layouts/Layout'
import './assets/scss/common.scss'
const App = () => {
return (
<Layout>
<h1>내용을 작성해 주세요.</h1>
</Layout>
)
}
export default App
'React > 문법' 카테고리의 다른 글
[리액트] Formik 컴포넌트와 Yup 패키지로 Form Validation 처리하기 (0) | 2023.08.01 |
---|---|
[리액트][타입스크립트] React Typescript에서 styled-components 적용하기 (0) | 2023.06.02 |
[리액트][타입스크립트] React Router 적용하기(페이지 이동) (0) | 2023.05.31 |
[리액트][타입스크립트] React 레이아웃 컴포넌트 만들기(props) (0) | 2023.05.30 |
[리액트][타입스크립트] Typescript로 React 세팅하기 (0) | 2023.05.30 |