[React] ๐Ÿ“š ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง

pyeonneยท2022๋…„ 6์›” 28์ผ
0
post-thumbnail

๐Ÿ“‹ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ

  • style ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋Š” CSS ๋ฌธ์ž์—ด ๋Œ€์‹  ์บ๋ฉ€ ์ผ€์ด์Šค ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง„ JavaScript ๊ฐ์ฒด๋กœ ๋ฐ›์•„๋“ค์ธ๋‹ค.
const divStyle = {
  color: 'blue',
  backgroundImage: 'url(' + imgUrl + ')',
};

function HelloWorldComponent() {
  return <div style={divStyle}>Hello World!</div>;
}
  • React๋Š” ํŠน์ • ์ˆซ์ž ์ธ๋ผ์ธ ์Šคํƒ€์ผ ํ”„๋กœํผํ‹ฐ๋Š” โ€œpxโ€ ์ ‘๋ฏธ์‚ฌ๋ฅผ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค. โ€œpxโ€์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๊ธธ ์›ํ•œ๋‹ค๋ฉด, ์›ํ•˜๋Š” ๋‹จ์œ„์™€ ํ•จ๊ป˜ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
// Result style: '10px'
<div style={{ height: 10 }}>
  Hello World!
</div>

// Result style: '10%'
<div style={{ height: '10%' }}>
  Hello World!
</div>
  • style ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์Šคํƒ€์ผ๋ง์˜ ์ฃผ์š” ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • CSS-in-JS๋Š” ์™ธ๋ถ€์˜ ํŒŒ์ผ์— CSS๋ฅผ ์ •์˜ํ•˜๋Š” ๋Œ€์‹ ์— JavaScript์™€ ๊ฒฐํ•ฉํ•˜๋Š” ํŒจํ„ด์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ ์œ„์ฃผ์˜ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด Styled Components ๋ฐฉ์‹์ด ์ข‹๊ณ , ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŽ์ด ๋„ฃ๋Š” ๋‹ค๋ฉด CSS Modules ๋ฐฉ์‹์ด ์ข‹๋‹ค.

๐Ÿ”— ์ฐธ๊ณ  ๋ž˜ํผ๋Ÿฐ์Šค

profile
๊ฑด๊ฐ•ํ•œ ๋ชธ๊ณผ ๋งˆ์Œ์—์„œ ๊ฑด๊ฐ•ํ•œ ์ฝ”๋“œ๊ฐ€ ํƒœ์–ด๋‚œ๋‹ค !

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