Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- CSS
- returnType
- 레이아웃쪼개기
- 티스토리꾸미기
- 커스텀
- vue.js
- 반복줄이기
- 리액트
- javascript
- 2022
- 누구나 자료구조와 알고리즘
- 폰트적용하기
- NonNullable
- const 단언문
- JS console
- 타입좁히기
- React.js
- click and drag
- utilty type
- TSDoc
- reactjs
- 공통컴포넌트
- typescript
- 개발콘텐츠
- React Native
- 제네릭
- Chart.js
- 타입스크립트
- 성능최적화
- react
Archives
- Today
- Total
몽땅뚝딱 개발자
[React] CSS 적용하기 / SASS / 스타일 리셋 본문
간단한 페이지를 하나 구현해보려고 한 것 뿐인데 장벽이 많았다.
주로 scope로 주고있는 vue.js만 사용하다보니 리액트는 도대체 css를 어떻게 주는 것인지 알 수가 없었다.
그리고 scss를 어떻게 적용할 것인가에 대한 것도!
찾아본 방법들은 아래와 같다.
1. styled component
2. {모듈명}.module.css
3. css를 전역으로 선언
여기서 나는 2번 방법을 먼저 사용해보기로 했다.
📄 WatchedItem.module.css
"{적용할 모듈명}.module.css" 형식으로 작성해준다.
modules로 작성하지않도록 주의!
.watched__item {
color: red;
}
📄 WatchedItem.js
className에 "{import 해온 이름.클래스 이름}"을 넣어주면 된다.
import styles from './WatchedItem.module.css'
function WatchedItem(props) {
return (
<div className="watched">
<ul className="watched__list">
<li className={styles.watched__item}>1</li>
<li className={styles.watched__item}>2</li>
<li className={styles.watched__item}>3</li>
</ul>
</div>
)
}
export default WatchedItem;
SASS 적용
◽ 설치하기
npm install node-sass
📄 WatchedItem.module.scss
{모듈명}.module.css를 {모듈명}.module.scss로 변경해주면 끝!
.watched {
&__item {
color: blue;
}
}
Reset CSS 적용
◽ 설치하기
npm i styled-reset
방법 1. 아래처럼 style-components를 사용하여 감싼다.
📄 GlobalStyles.js
// 방법 1. 기본적인 사용법
import { createGlobalStyle } from "styled-components";
import { Reset } from "styled-reset";
const GlobalStyles = createGlobalStyle`${Reset}`;
export default GlobalStyles;
// 방법 2. 이렇게 css를 추가하면 된다.
import { createGlobalStyle } from 'styled-components'
import Reset from 'styled-reset'
const GlobalStyles = createGlobalStyle`
${Reset}
a {
text-decoration: none;
color: inherit;
}
`
export default GlobalStyles
📄 App.js
import React from 'react'
import Footer from './pages/common/Footer'
import Header from './pages/common/Header'
import Contents from './pages/common/Contents'
import styles from './assets/scss/App.module.scss'
import GlobalStyles from './GlobalStyles' // import 한다.
function App() {
return (
<section className={styles.app}>
<!-- 여기서 선언한다. -->
<GlobalStyles />
<Header></Header>
<Contents></Contents>
<Footer></Footer>
</section>
)
}
export default App
방법 2. App.js에서 직접 Reset을 import하여 감싼다.
return (
<div className="App">
<Reset />
</div>
}
출처
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'Development > React.js · Next.js' 카테고리의 다른 글
[React] 클래스형 컴포넌트의 생명주기함수 vs 함수형 컴포넌트의 훅 비교 (0) | 2023.02.07 |
---|---|
[React] 성능개선하기 (0) | 2022.10.03 |
[React] Context API (0) | 2022.09.25 |
[React] 기타 정보 (0) | 2022.09.25 |
[React] 라이프사이클(LifeCycle) (0) | 2022.09.25 |
Comments