Next.js 12 - SSR + SWR
ยท
♠๏ธ Next.js 12
โœ… getServerSideProps๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ๊ธฐ๋Š” ์žฅ์ ๊ณผ ๋‹จ์ ์žฅ์ : ํŽ˜์ด์ง€๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์™„์„ฑ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋ Œ๋”๋ง์„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์•ˆ ๋ด๋„ ๋œ๋‹ค.๋‹จ์ : useSWR์—์„œ ํŽ˜์ด์ง€ ์ „ํ™˜ ์‹œ ์ž๋™์œผ๋กœ api๋ฅผ ํ˜ธ์ถœํ•ด ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์“ธ ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.(static optimization์ด๋‚˜ cache ๊ฐ™์€ ๊ฑธ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ)๋˜, getServerSideProps๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™”๋‹ค๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊ณผ์ •์—์„œ ์œ ์ €๋Š” ํŽ˜์ด์ง€์—์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ณผ ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. โœ… SSR(getServerSideProps)์™€ SWR์„ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•๊ทธ๋ƒฅ getServerSideProps์—์„œ SWR์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ getServerSid..
Next.js 12 - getServerSideProps
ยท
♠๏ธ Next.js 12
โšซ getServerSideProps- getServerSideProps๋ผ๋Š” function์„ exportํ•˜๋ฉด Server Side Rendering์ด ๋œ๋‹ค. ์ด function์— ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์“ฐ๋“ , ๊ทธ ์ฝ”๋“œ๋Š” server์—์„œ ๋Œ์•„๊ฐ€๊ฒŒ ๋œ๋‹ค. (client ์ชฝ์ด ์•„๋‹ˆ๋ผ server ์ชฝ์—์„œ๋งŒ ์ž‘๋™ํ•œ๋‹ค. ์ด๊ฑธ ์ด์šฉํ•ด์„œ API key๋ฅผ ์ˆจ๊ธธ ์ˆ˜๋„ ์žˆ๋‹ค.) [index.js]import Seo from "../components/Seo";export default function Home({ results }) { return ( {results?.map((movie) => ( {movie.title} ))} ..
Next.js 12 - Static Pre Rendering
ยท
♠๏ธ Next.js 12
โšซ Static Pre Rendering์ด๋ž€?- ์•ฑ์— ์žˆ๋Š” ํŽ˜์ด์ง€๋“ค์ด ๋ฏธ๋ฆฌ ๋ Œ๋”๋ง ๋˜๋Š” ๊ฒƒ(Next.JS์˜ ๊ฐ€์žฅ ์ข‹์€ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜) ์ •์ (static)์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค. Create-React-App VS Next.JS- Create-React-App: Client-Side-Rendering(CSR), render ๋˜๋Š” ๊ฒƒ๋“ค์ด HTML ์†Œ์Šค์ฝ”๋“œ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. (noscript ํƒœ๊ทธ๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋น„ํ™œ์„ฑํ™” ๋˜์—ˆ์„ ๋•Œ๋งŒ ๋‚˜์˜จ๋‹ค)- Next.JS: Server-Side-Rendering(SSR), render ๋˜๋Š” ๊ฒƒ๋“ค์ด HTML ์†Œ์Šค์ฝ”๋“œ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. โšซ Hydration์ด๋ž€?- ๋จผ์ € ์ดˆ๊ธฐ ์ƒํƒœ์˜ HTML ์†Œ์Šค์ฝ”๋“œ๋ฅผ renderํ•˜๊ณ , React.JS๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋์„ ๋•Œ, ..