Next.js 15v μ±λΌμ°ν°λ‘ ꡬνλ¬μ΅λλ€
ssr,isrλ‘ νμ΄μ§λ¨μ μΊμ±(vercel data cacheμ ν¨κ»)μ μνν΄ μ΅μ νν©λλ€
νμ¬ λ¨κ³μμλ λͺ¨λ°μΌ μ°μ μΌλ‘ ꡬνλμμΌλ©° νμ΄λΈλ¦¬λ μΉ μ±μΌλ‘ ꡬνλμμ΅λλ€
Vercelμμ λ°°ν¬λ©λλ€
μνκ΄λ¦¬λ context API, Zustandλ‘ κ΄λ¦¬λ©λλ€
μ»΄ν¬λνΈ μ λ΅: λͺ¨λν
λͺ¨λνλ μ»΄ν¬λνΈ: κ° μ»΄ν¬λνΈλ λ
립μ μΌλ‘ μ€κ³λλ©°, λλ©μΈμ μμ‘΄μ μ΄μ§ μκ³ μ¬μ¬μ©νλλ‘ κ΅¬νν©λλ€.
components/
βββbookDetail/
β βββ BookDetail.tsx
β βββ BookTitleSection.tsx
β βββ BookDetailSection.tsx
β βββ BookImageSection.tsx
βββcommons/
β βββ CommonLable.tsx
β βββ CommonInputField.tsx
μμ1) bookDetailμ book/[isbn] κ³Ό birth-day/[isbn]μμ 곡ν΅μΌλ‘ μ¬μ©λ©λλ€
μμ2) commonsμ λͺ¨λ μμμμ μ¬μ©ν μ μλ κ²½μ°μ μμΉν©λλ€
context API: λλ©μΈ μμ‘΄μ μΈ μν
app/
βββ publisher/
β βββ page.tsx
β βββ PublisherPageDataProvider.tsx
μμ) publisherμ μμ‘΄μ μΈ μ μμνλ₯Ό κ΄λ¦¬νλ PublisherPageDataProviderλ publisher λΌμ°ν° λ΄λΆμ μ μν©λλ€
Zustand: μ μ 곡μ κ°λ₯ μν
context/
βββ PopupStore.ts
μμ) μ¬λ¬ λλ©μΈμ΄λ μ»΄ν¬λνΈ κ°μ 곡μ λλ μ μ μν κ΄λ¦¬λ₯Ό μν΄ μ¬μ©λ©λλ€(νΉν ν€λUI, λͺ¨λ¬UIκ°μ 곡μ©UI μ μ΄)
μΊ‘μν: λλ©μΈμ μμ‘΄μ μΈ μνλ Context APIλ₯Ό μ¬μ©ν΄ 격리νλ©°, κ³΅μ© μνλ Zustandλ₯Ό νμ©νμ¬ μ μμ μΌλ‘ κ΄λ¦¬ν©λλ€.
μ¬μ¬μ©μ±: μ»΄ν¬λνΈλ λͺ¨λνλ λ°©μμΌλ‘ μμ±λμ΄ μ΅λν λ€μν λλ©μΈμμ μ¬μ¬μ©ν μ μλλ‘ μ€κ³λ©λλ€.
νμ₯μ±: μλ‘μ΄ κΈ°λ₯μ΄λ λλ©μΈμ΄ μΆκ°λ λ κΈ°μ‘΄ ꡬ쑰λ₯Ό λ³κ²½νμ§ μκ³ λ
립μ μΌλ‘ μμ
ν μ μμ΅λλ€.