[Next.js] (5) - ์ฌ์ ๋ ๋๋ง (SSR, SSG)
2024. 11. 5. 08:02ใfront-end/Next.js
728x90
๐ Next.js ๋ค์ํ ์ฌ์ ๋ ๋๋ง
- ์๋ฒ์ฌ์ด๋ ๋ ๋๋ง (SSR)
- ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ ๋ ๋๋ง ๋ฐฉ์
- ์์ฒญ์ด ๋ค์ด์ฌ ๋ ๋ง๋ค ์ฌ์ ๋ ๋๋ง์ ์งํํจ
- ์ ์ ์ฌ์ดํธ ์์ฑ(SSG)
- ๋น๋ ํ์์ ๋ฏธ๋ฆฌ ํ์ด์ง๋ฅผ ์ฌ์ ๋ ๋๋ง ํด ๋
- ์ฆ๋ถ ์ ์ ์ฌ์์ฑ (ISR)
- ํฅํ์ ๋ค๋ฃฐ ์ฌ์ ๋ ๋๋ง ๋ฐฉ์
๐ SSR - ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง (์์ฒญ์ด ๋ค์ด์ฌ ๋ ๋ง๋ค ์ฌ์ ๋ ๋๋ง์ ์งํ)
export const getServerSideProps = () => {
// ์ปดํฌ๋ํธ๋ณด๋ค ๋จผ์ ์คํ, ์ปดํฌ๋ํธ์ ํ์ํ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๋ ํจ์
// ์ค์ง ์๋ฒ์ธก์์๋ง ํ ๋ฒ ์คํ
const data = 'hello'
return {
//๋จ ํ๋์ ๊ฐ์ฒด๋ฅผ ๋ฆฌํด, props ํ๋กํผํฐ๊ฐ์ ๋ฃ์ด์ผํจ
props: {
data,
},
}
}
props: InferGetServerSidePropsType<typeof getServerSideProps>
//getServeSideProps ๋ฐํ๊ฐ ํ์
์ ์๋์ผ๋ก ์ถ๋ก ํด์ค๋ค.
๐ ๋ธ๋ผ์ฐ์ ์์๋ง ์คํ์ ์ํ๋ ๊ฒฝ์ฐ
- useEffect() ๋ฅผ ์ด์ฉํด์ ํ์ด์ง๊ฐ mount ๋ ์ดํ์ ๋ถ๋ฌ ์ฌ ์ ์๋๋ก ํจ
๐ SSG - ์ ์ ์ฌ์ดํธ ์์ฑ (Build Time ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์!)
- ์ฌ์ ๋ ๋๋ง์ ๋ง์ ์๊ฐ์ด ์์๋๋ ํ์ด์ง๋๋ผ๋ ์ฌ์ฉ์์ ์์ฒญ์๋ ๋งค์ฐ ๋น ๋ฅธ์๋๋ก ์๋ต ๊ฐ๋ฅ
- ์ต์ ๋ฐ์ดํฐ ๋ฐ์์ ์ด๋ ต๋ค. - ์ ์ ์ธ ํ์ด์ง์ ์ ํฉํ ๊ธฐ๋ฅ
์ถ์ฒ: https://www.inflearn.com/course/%ED%95%9C%EC%9E%85-%ED%81%AC%EA%B8%B0-nextjs/dashboard
728x90
'front-end > Next.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Next.js] (3) - Page Router (๊ทธ๋ฆฌ๊ณ Next ๊ธฐ๋ณธ๋์๊ตฌ์กฐ) (0) | 2024.11.04 |
---|---|
[Next.js] (4) - App Router (2) | 2024.11.01 |
[Next.js] (2) - ์ฌ์ ๋ ๋๋ง (0) | 2024.10.31 |
[Next.js] (1) - React.js ์ ์ฉ์ ์น ๊ฐ๋ฐ 'Framework' (0) | 2024.10.31 |