[๐Ÿ‹ CSS] Styled Components & TypeScript - ์ปดํฌ๋„ŒํŠธ์— props ๊ฐ’ ์ „๋‹ฌํ•˜๊ธฐ

dsfasdยท2023๋…„ 1์›” 12์ผ
0

๊ณ ๋ฏผํ•œ ๋ฌธ์ œ

์Šคํƒ€์ผ ์ปดํฌ๋„ŒํŠธ & ํƒ€์ž… ์Šคํฌ๋ฆฝํŠธ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ๋„์ค‘์—
ํ•ด๋‹น ์Šคํฌ๋กค ์œ„์น˜ ์กฐ๊ฑด์„ ๋‹ฌ์„ฑํ•œ ๊ฒฝ์šฐ์—, ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ณ ์ •์‹œํ‚ค๊ณ  ์‹ถ์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ผ๋ฐ˜ ๋ฆฌ์•กํŠธ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ props๋กœ ๋‹จ์ˆœ ์กฐ๊ฑด๋ฌธ์— ์˜ํ•ด์„œ props๋ฅผ ์ „๋‹ฌํ•ด์ฃผ์—ˆ๋”๋‹ˆ CSS ์†์„ฑ์ด ์ œ๋Œ€๋กœ ์ž…ํ˜€์ง€์ง€ ์•Š์•˜๋‹ค.

ํ•ด๊ฒฐ๊ณผ์ •

์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ์‹œ ํƒœ๊ทธ ์šฐ์ธก์— props ํƒ€์ž…์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
fixBar์˜ ๊ฐ’์€ useState๋กœ ์Šคํฌ๋กค ๊ฐ์ง€์‹œ Y์ถ•์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

const Box = styled.div<{inverted:boolean}>` // ์—ฌ๊ธฐ! 
  position: ${(props)=> (props.inverted ? 'fixed':'absolute')};
  left: ${(props)=> (props.inverted ? '87%':'87%')};
  top : ${(props)=> (props.inverted ? '60%':'1200px')};
`

//...//

<Box inverted = { fixBar < 700 ? true : false }>
profile
๊ธฐ๋ก์„ ์ •๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„!

0๊ฐœ์˜ ๋Œ“๊ธ€