<star />

styled-components λ³Έλ¬Έ

CSS 🎨

styled-components

별깅 2022. 12. 29. 13:51
728x90

 

λ§Žμ€ μ»΄ν¬λ„ŒνŠΈμ— μŠ€νƒ€μΌλ§μ„ ν•  λ•Œ μ•„μ£Ό μœ μš©ν•œ css 라이브러리인

styled-components λ₯Ό μ•Œμ•„λ³΄μž.

 

npm install styled-components

 

import styled from 'styled-components'

 

1. μ‚¬μš©λ²•

- μ»΄ν¬λ„ŒνŠΈ 생성 μ‹œ, μŠ€νƒ€μΌμ„ 미리 μ§€μ •ν•˜μ—¬ λ§Œλ“€ 수 μžˆλ‹€.

- `` λ°±ν‹± 기호λ₯Ό μ΄μš©ν•˜μ—¬ css μŠ€νƒ€μΌμ„ 넣을 수 있음.

 

2. μž₯점

- css 파일 μ—΄μ–΄μ„œ μž‘μ„±ν•  ν•„μš” μ—†μŒ.

- js νŒŒμΌμ—μ„œ λ°”λ‘œ μŠ€νƒ€μΌλ§ κ°€λŠ₯ν•΄μ„œ λ‹€λ₯Έ js νŒŒμΌμ— 영ν–₯이 κ°€μ§€ μ•Šμ•„μ„œ μ’‹μŒ.

- νŽ˜μ΄μ§€ λ‘œλ”© μ‹œκ°„ 단좕

 

3. props 둜 μž¬ν™œμš© κ°€λŠ₯

- μž¬μ‚¬μš©λ˜λŠ” μ»΄ν¬λ„ŒνŠΈ UI κ°€ μžˆμ„ 경우 μ•„μ£Ό μš©μ΄ν•¨.

 

import styled from 'styled-components';

let colorBtn = styled.button`
    background: ${ props.bg };
    color: ${ porps => props.bg == '#000' ? '#fff' : "#ededed" };
    padding: 20px;
`

const Page = () => {
    return (
        <div>
            <colorBtn bg="black">λΈ”λž™ λ²„νŠΌ</colorBtn>
            <colorBtn bg="pink">핑크 λ²„νŠΌ</colorBtn>
        </div>
    )
}

 

styled-components μ—μ„œ props μ‚¬μš©ν•˜λŠ” 방법!

${ props => props.bg }

props 둜 bg λ₯Ό μ „λ‹¬ν•˜μ—¬ 자유둭게 색 μ§€μ •ν•˜κ³  λ„ˆλ¬΄ νŽΈν•¨.

 

4. 단점?

- js 파일이 맀우 λ³΅μž‘ν•΄μ§„λ‹€.

- ν˜‘μ—… μ‹œ, λΆˆνŽΈν•œ 상황이 올 μˆ˜λ„ 있음~

728x90

'CSS 🎨' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

SVG  (0) 2023.01.02
Sass(SCSS)  (0) 2022.12.23
Comments