๋ฐ˜์‘ํ˜•

  • 2022 CSS Layout MasterClass
  • 2.1Life Before Flexbox ~ 2.4 Rows and Columns

  • React JS ๋งˆ์Šคํ„ฐํด๋ž˜์Šค
  • 3.6Theme ~ 3.7 Recap
  • 5.0 Setup
  • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” JS ์—์ฒ˜๋Ÿผstyles.css๋ฅผ import ํ•˜๋Š” ๋Œ€์‹ ์— styled.d.ts ๋ฅผ props ๋กœ ํƒ€์ž…์„ ์ •ํ•ด์ค€ ๋‹ค์Œ์— ์†์„ฑ์„ ์ „๋‹ฌํ•ด์ค€๋‹ค
    • @types/react-router-dom ์ฒ˜๋Ÿผ ๋ฆฌ์•กํŠธ์—์„œ ๋‹ค์šด๋ฐ›์•„์ง€์ง€ ์•Š๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” @types ๋ฅผ ๋ถ™์—ฌ์„œ npm i ํ•˜๋ฉด ๋œ๋‹ค.
    • ๋ฒ„์ „ ๋ถ™์—ฌ์„œ ๋‹ค์šด๋ฐ›์„ ๋•Œ 5.3.0์—์„œ ๋งจ ๋’ค์— 0์ผ ๋•Œ๋Š” ๋ถ™์—ฌ์„œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๊ฑฐ ์•„๋‹ˆ๋‹ค
  • flexbox ์„ธ๊ณ„์—๋Š” 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. (row, column) : ๊ธฐ๋ณธ๊ฐ’์€ row

→ main axis ์œ„์˜ flex childern ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด justify-comtent ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

→ cross axis ์œ„์˜ flex item ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด align-item ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

  • display:flex; flexbox์ด์ „์—๋Š” inline-block ์ด ์žˆ์–ด์„œ ๋„ˆ๋น„์™€ ๋†’์ด๊ฐ€ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ์˜†์œผ๋กœ ๋‚˜๋ž€ํžˆ ์žˆ์„ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์š”์ƒํ•œ ๋นˆ ๊ณต๊ฐ„์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ”๋กœ ๊ฐ์ฒด์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ทธ ๊ฐ์ฒด(์š”์†Œ)์˜ ๋ฐ”๋กœ ๋ถ™์–ด์žˆ๋Š” ๋ถ€๋ชจ ์š”์†Œ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ styled component ๋ฅผ ์ด์šฉํ•œ CSS ์Šคํƒ€์ผ๋ง ํ•˜๋Š” ๋ฒ•

  • interface ๋ผ๋Š” object shape ๋ฅผ ๋ณ€์ˆ˜ ํƒ€์ž…์„ ์„ค๋ช…ํ•ด์ค˜์•ผ props ๋กœ ์ „๋‹ฌ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • interface ๋ฅผ ์„ ์–ธํ•ด์ค€ ๋‹ค์Œ์— ์™œ styled component ๋ฅผ ์„ ์–ธํ•ด์ฃผ๋Š” ํ˜•์‹์„ ๋˜ ๋งŒ๋“ค์–ด์ฃผ๊ณ , ์™œ Circle.tsx ๋ฅผ ๋งŒ๋“ค์–ด์„œ App.tsx ์— ์ „๋‹ฌ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์›๋ฆฌ๊ฐ€ ์ดํ•ด๋˜์ง€ ์•Š์•˜๋‹ค
  • ์™œ Circle.tsx ์—๋Š” interface ๊ฐ€ ์žˆ๋Š”๋ฐ, App.tsx ์—๋Š” interface ๊ฐ€ ์—†๋Š”๊ฑธ๊นŒ??
  • → ์ด๋ฏธ ์™„์„ฑ๋˜์–ด์žˆ๋Š” interface ๋ฅผ ๊ฐ–๋‹ค ์“ฐ๋Š”๊ฑฐ๋ผ์„œ?

  • ๋ฌด์–ธ๊ฐ€ ๋ง‰ํž ๋•Œ๋Š” ๋…ธ๋งˆ๋“œ ๋Œ“๊ธ€๊ณผ ์Šฌ๋ž™์„ ๋ณด๋ฉด์„œ ์ง„ํ–‰ํ•˜๋Š” ์Šต๊ด€์„ ๊ธฐ๋ฅด์ž

+ Recent posts