๐ Reference
๐ Chapter
โฃ
โฃ
โฃ
โฃ
Data Fetching
- Next.js์์ Data๋ฅผ Fetching ํ๋ ๋ฐฉ์์ 4๊ฐ์ง ๋ฐฉ์์ด ์๋ค.
- CSR (Client Side Rendering)
- SSR (Server Side Rendering)
- SSG (Static Site Generation)
- ISR (Incremental Static Regeneration)
CSR
- Next.js์์์ CSR์ ๊ฒฐ๊ตญ React์
useEffect
๋ฅผ ์ฌ์ฉํด์ data๋ฅผ fetch ํด์ค๋ ๋ฐฉ์์ด๋ค.
- ์์ 1
import { useEffect, useState } from 'react'
import styles from '../styles/Home.module.css'
import axios from 'axios';
export default function Home() {
const [dateTime, setDateTime] = useState(null);
useEffect(async () => {
try {
const response = await axios.get('<https://worldtimeapi.org/api/ip>');
setDateTime(response.data.datetime);
}
catch (e) {
console.error(e);
}
},[]);
return (
<div className={styles.container}>
{dateTime || "๋ถ๋ฌ์ค๋ ์ค ..."}
</div>
)
}
- ์ด ์น์ ๋์์์ผ๋ณด๋ฉด ์ฒ์์๋ ๋ธ๋ผ์ฐ์ ์ "๋ถ๋ฌ์ค๋ ์ค..."์ด ๋จ๋ค๊ฐ api ํธ์ถ๋ก response๋ฅผ ๋ฐ์ ํ์๋ ํ์ฌ ์๊ฐ์ด ๋ํ๋๋ค.
- CSR ๋ฐฉ์์ client side(์ฌ๊ธฐ์๋ ๋ธ๋ผ์ฐ์ )์์ ํ์ด์ง๊ฐ ์์ฒญ๋ ๋๋ง๋ค ๋ฐ์์จ js ํ์ผ๋ก api ํธ์ถ์ ํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ๊ณผ์ ์ ํด๋ผ์ด์ธํธ๊ฐ js ํ์ผ์ ๋ฐ์ ํ ์งํ๋๊ธฐ ๋๋ฌธ์ ์ฒ์์๋ ๋ฐ์ดํฐ๊ฐ ์๋ ์ํ๋ก "๋ถ๋ฌ์ค๋ ์ค..."์ด ๋จผ์ ๋จ๊ฒ ๋๋ค.