<aside>
π‘
NextJSλ reactμ λ€λ₯΄κ² μ»΄ν¬λνΈ μ’
λ₯κ° 2κ°μ§μ΄λ€.
</aside>
1. Server Component
μλ² μ»΄ν¬λνΈλ μ ν리μΌμ΄μ
μ μλ² λΆλΆμμ λ λλ§λλ μ»΄ν¬λνΈλ€.
μ¦, μλ²μμ μ€νλκ³ λ λλ§λλ μ»΄ν¬λνΈλ‘ λΈλΌμ°μ κ° μλ Node.js νκ²½μμ λμκ°λ€.
μ΄λ λλΆλΆμ μ»΄ν¬λνΈκ° μλ²μμ λ λλ§λκ³ , μμ μΈν°λν°λΈ UI μμλ§ ν΄λΌμ΄μΈνΈμμ λ λλ§ λλ λ°©μμ΄λ€.
κ·Έλ¦¬κ³ μ΄ μμ μΈν°λν°λΈ UIμμλ€μ ν΄λΌμ΄μΈνΈ μ»΄ν¬λνΈλΌκ³ μ§μΉν μ μλ€.
- λ‘λ© μλκ° λΉ λ₯΄κ³ , κ²μ μμ§ μ΅μ ν(SEO)μ μ 리νλ©°, μ΄κΈ° νμ΄μ§ λ λλ§ μ±λ₯μ΄ λ°μ΄λ¨
- Node.js νκ²½μμ λμκ°κΈ° λλ¬Έμ λΈλΌμ°μ κ° μ 곡νλ window, document, localStorage λ±μ κ°μ²΄κ° μλ€.
- μλ² μ»΄ν¬λνΈλ μλ²μμ λ λλ§ λλ―λ‘ λΈλΌμ°μ μ μ© APIλ₯Ό μ¬μ©ν μ μκ³ , λμ μλ²μμλ§ κ°λ₯ν μμ
(λ°μ΄ν°λ² μ΄μ€ 쿼리, λΉλκΈ° API νΈμΆ λ±)μ μμ νκ² μ²λ¦¬ν μ μλ€.
- μ΄μ μλ Next.js λ±μμ SSR(Server Side Rendering)μ μ¬μ©ν λ
window
κ°μ²΄λ₯Ό μ§μ μΈ μ μμλλ°, μλ² μ»΄ν¬λνΈλ SSRμ ν λ¨κ³ λ λ°μ μν¨ ννλΌκ³ λ³Ό μ μλ€.
- SSRκ³Ό λ¬λ¦¬ μλ² μ»΄ν¬λνΈλ λ λλ§λΏ μλλΌ λ°μ΄ν° νμΉ λ‘μ§κΉμ§ μλ²μμ μ²λ¦¬νλλ‘ κΆμ₯νκ³ , νμ μ΅μνμ λ°μ΄ν°λ§ ν΄λΌμ΄μΈνΈλ‘ μ λ¬νμ¬ μ±λ₯μ κ°μ ν μ μκ² ν΄μ€λ€.
2. Client Component (ν΄λΌμ΄μΈνΈ μ»΄ν¬λνΈ)
- μ»΄ν¬λνΈ μ΅μλ¨μ
'use client'
λ₯Ό μ μΈν¨μΌλ‘μ¨ ν΄λΌμ΄μΈνΈ μ»΄ν¬λνΈλ‘ λμ
- κΈ°μ‘΄ Reactμ λμΌνκ²
useState
, useEffect
, onClick
, onSubmit
λ±μ ν΄λΌμ΄μΈνΈ μ¬μ΄λ κΈ°λ₯μ μ¬μ©ν μ μμ
- ν΄λΌμ΄μΈνΈ μΈ‘μμ μλ°μ€ν¬λ¦½νΈλ₯Ό λ²λ€λ§νκ³ Hydration κ³Όμ μ κ±°μΉλ―λ‘, λΆνμν μλ°μ€ν¬λ¦½νΈκ° λ§μμ§μλ‘ μ±λ₯μ΄ μ νλ μ μμ