Next.js 15
Last updated
Last updated
๊ฐ ๋ฐฐํฌ๋์๋ค. ๊ธฐ์กด 14์ ์ด๋ค ๋ณ๊ฒฝ์ ๋ค์ด ์๋์ง ๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด์.
์ฐ์ , ๋ฒ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํด ์๋์ ์ปค๋งจ๋๋ฅผ ์ ๋ ฅํ์
15๋ฒ์ ์ ์ฌ์ฉํ๊ธฐ์ํด์๋ React v19๋ฅผ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ์กํธ๋ ์
๊ทธ๋ ์ด๋ ํด์ค์ผํ๋ค. ์ถ๊ฐ์ ์ผ๋ก, ํ์
์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, @types/react, @types/react-dom
๋ํ ์
๊ทธ๋ ์ด๋๊ฐ ํ์ํ๋ค.
์ฒซ๋ฒ์งธ๋ ๋น๋๊ธฐ ์์ฒญ์ด๋ค.
๊ธฐ์กด SSR์์๋ ์ปจํ ์ธ ๋ฅผ ๋ก๋ํ๊ธฐ ์ ์ ์๋ฒ ์์ฒญ์ ๊ธฐ๋ค๋ ธ๋ค. ๊ทธ๋ฐ๋ฐ ๋ชจ๋ ์ปดํฌ๋ํธ์์ ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์, ๋นํจ์จ์ ์ธ ๋ถ๋ถ์ด ์์๋ค. ์ด์ ๋ฐ๋ผ headers, cookies, params, searchParams ๋ค์ด ๋น๋๊ธฐ API๋ก ์ ํ๋์๋ค.
์ ์์์ฒ๋ผ searchParams๊ฐ ๋น๋๊ธฐ API๊ธฐ ๋๋ฌธ์ promise ๊ฐ์ฒด๋ฅผ await๋ฅผ ํตํด ๋ค๋ฃจ์ด์ผ ํ๋ค.
๋ํ, headers, cookies๊ฐ ๋น๋๊ธฐ๋ก ๋ณ๊ฒฝ๋์ด ๋ณ๋ ฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ก๋ค.
๋๋ฒ์งธ๋ ์บ์ฑ์ด๋ค.
fetch์ GET ๋ผ์ฐํธ ํธ๋ค๋ฌ๊ฐ ๋์ด์ ์บ์ฑ๋์ง ์๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก no-store๋ก ์ค์ ๋๊ธฐ ๋๋ฌธ์ ์บ์ฑํ๊ณ ์ถ๋ค๋ฉด ๋ช ์์ ์ผ๋ก ์ค์ ํด์ค์ผ ํ๋ค. ์ค์ ์ต์ ์ ์๋์ ๊ฐ๋ค.
no-store : ์์ฒญ ๊ฒฐ๊ณผ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ์๋กญ๊ฒ ๊ฐ์ ธ์จ๋ค.
force-cache : ์์ฒญ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฌ์ฉํ๋ค.
revalidate : stale time ๋์ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํด ์ฌ์ฉํ๊ณ , ์ดํ์๋ ์๋กญ๊ฒ ๊ฐ์ ธ์จ๋ค.
์ถ๊ฐ์ ์ผ๋ก ์บ์ฑ๋ ๋ฐ์ดํฐ์ ๋ง๋ฃ ์ ๊น์ง๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ธ stale-while-revalidate
๊ฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
์ด์ธ์ ์์ํ ๋ณ๊ฒฝ์ฌํญ๋ค์ ์ข ๋ ์ดํด๋ณด์๋ฉด, npx @next/codemod@canary upgrade latest
์ปค๋งจ๋๋ฅผ ํตํด ๊ฐํธํ๊ฒ ๋ฒ์ ์
๊ทธ๋ ์ด๋๊ฐ ๊ฐ๋ฅํ๋ค.
๋ํ ๊ธฐ์กด next dev๋ก ์คํํ๋ ๊ฐ๋ฐ ์๋ฒ๋ฅผ next dev --turbo
๋ฅผ ํตํด ๋ณด๋ค ๋น ๋ฅธ ๊ฐ๋ฐ์๋ฒ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํด์ก๋ค.