2024-03-27.md

๐Ÿก

DIL: ๋ชจ๋˜ ๋ฆฌ์•กํŠธ ๋”ฅ ๋‹ค์ด๋ธŒ, 4์ฃผ์ฐจ-3

์Šคํ„ฐ๋””: ์›”๊ฐ„ CS, https://github.com/monthly-cs/2024-03-modern-react-deep-dive
์˜ค๋Š˜ ์ง„ํ–‰: ๊ฐœ์ธ๊ณต๋ถ€
์ฝ”๋“œ์ƒŒ๋ฐ•: ๋งํฌ


DIL-week4-3_2024-03-27

| DIL ์ฃผ์ฐจ | ๋ฒ”์œ„ | ๋‚ด์šฉ | ์˜ค๋Š˜์ฐจ ์ง„๋„ | | -------- | ------ | ------------------------------- | ----------- | | 4์ฃผ์ฐจ | 4, 8์žฅ | SSR๊ณผ ESlint, ํ…Œ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ | 311p~314p |

์˜ค๋Š˜ ์ฝ์€ ๋‚ด์šฉ์„ markdown์œผ๋กœ ๊ฐ„๋‹จํžˆ ๋ฉ”๋ชจ
์ฝ์€ ์‹œ๊ฐ„: 9์‹œ20๋ถ„~10์‹œ๋ฐ˜, 11์‹œ๋ฐ˜~12์‹œ๋ฐ˜


Next.js ํ†บ์•„๋ณด๊ธฐ

Data Fetching

getStaticPaths์™€ getStaticProps

  • ์ •์ ์œผ๋กœ ๊ฒฐ์ •๋œ ํŽ˜์ด์ง€
  • CMS(Contents Management System) ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ, ๋ธ”๋กœ๊ทธ, ๊ฒŒ์‹œํŒ
  • ์ •์ ์ธ HTML ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ ๋‹ค. ์–ด๋””์„œ? ์„œ๋ฒ„์—์„œ
    • next build ์‹œ, html๊ณผ json ์ค€๋น„

| ํ•จ์ˆ˜ | ๊ธฐ๋Šฅ | ์ฐธ๊ณ  | | -------------- | ----------------------------------------------- | ---------------------------------------------------------- | | getStaticPaths | ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ฃผ์†Œ๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ | ๊ทธ ์™ธ์˜ ํŽ˜์ด์ง€๋Š” 404 | | getStaticProps | ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ฃผ์†Œ๋กœ ์š”์ฒญ์ด ์™”์„ ๋•Œ, ๋ฐ˜ํ™˜ํ•  props | params๋ฅผ ๊ธฐ์ค€์œผ๋กœ props๋กœ ์ „๋‹ฌํ•  ์š”์ฒญ/์‘๋‹ต์„ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌ |

ํด๋” ๊ตฌ์กฐ ์˜ˆ์‹œ

| ํด๋” | url | | ---------------------- | ------------------------------------------------- | | /[year]/[โ€ฆslugs] | /2024/03/react_week4-3 | | /pages/[id] | /pages/11 | | /tags/[tag]/pages/[id] | /tags/javascript/pages/1 /tags/react/pages/1 |

  • paths์— ๋ฏธ๋ฆฌ ๋นŒ๋“œํ•  paths ๊ธฐ์žฌ
  • fallback: true
    • fallback ์ปดํฌ๋„ŒํŠธ ๋ณด์—ฌ์ฃผ๊ธฐ
  • blocking
    • ๋กœ๋”ฉx ๋นŒ๋“œ ์™„๋ฃŒ๊นŒ์ง€ ์‚ฌ์šฉ์ž ๋Œ€๊ธฐ

getServerSideProps ๋น„๊ต -> ๋‚ด์ผ ์ด์–ด์„œ

| ํ•จ์ˆ˜ | ๊ธฐ๋Šฅ | ์ฐธ๊ณ  | ๋นŒ๋“œ ์‹œ ์ƒ์„ฑ | | ------------------ | ----------------------------------------------- | ---------------------------------------------------------- | ------------ | | getStaticPaths | ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ฃผ์†Œ๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ | ๊ทธ ์™ธ์˜ ํŽ˜์ด์ง€๋Š” 404 | html | | getStaticProps | ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ฃผ์†Œ๋กœ ์š”์ฒญ์ด ์™”์„ ๋•Œ, ๋ฐ˜ํ™˜ํ•  props | params๋ฅผ ๊ธฐ์ค€์œผ๋กœ props๋กœ ์ „๋‹ฌํ•  ์š”์ฒญ/์‘๋‹ต์„ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌ | json | | getServerSideProps | ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜ | ํŽ˜์ด์ง€ ์ง„์ž… ์ „ ๋ฌด์กฐ๊ฑด ์‹คํ–‰ | js |