๐Ÿถ๐Ÿพ/frontend

[styled-components] styled-components ์žฌ์‚ฌ์šฉ & props

onieyh 2024. 2. 5. 17:00

์ปดํฌ๋„ŒํŠธ ํ™•์žฅ(์žฌ์‚ฌ์šฉ)ํ•˜๊ธฐ 

๋ฒ„ํŠผ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ทธ ๋ฒ„ํŠผ์„ ์žฌ์‚ฌ์šฉํ•ด ๊ธ€์žํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๋ฒ„ํŠผ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ 

const SimpleBtn = syteld.button`
    color:white;
    background-color:green;
`;

const LargeBtn = styeld(SimpleBtn)`
    font-size: 50px;
`;

 

๊ด„ํ˜ธ () ์•ˆ์—  ๋„ฃ์–ด์คŒ์œผ๋กœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ 

LargeBtn์€ color, background-color๋ฅผ ์ƒ์†(?) ๋ฐ›๊ฒŒ ๋จ 

 

 

Props ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ธฐ 

const ReactBtn = styled.button`
    color: ${(props)=> props.primary? "white" : "black"}
`;

// 1. <ReactBtn>Normal</ReactBtn>
// 2. <ReactBtn primary>Primary</ReactBtn>

 

1์€ primary props๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ black์œผ๋กœ 2๋Š” white๋กœ ~

 

๋ฐ˜์‘ํ˜•