Next.JS Link Component
Next.JS์ ๋งํฌ ์ปดํฌ๋ํธ๋?
๋ด๋ถ ๋ผ์ฐํ ์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋๋ก ์ฒ๋ฆฌ
prefetch ์ต์ ์ true, false, default (null, auto ) ๊ฐ ์๋ค.
- default: ์ ์ ๋ผ์ฐํธ๋ฉด data ํฌํจ ๋ค prefetch, ๋์ ๋ผ์ฐํธ๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด loading.js๋ง prefetch
- true: ๋์ , ์ ์ ์๊ด์์ด ๋ด๋ถ ๋ฐ์ดํฐ๊น์ง ๋ค prefetch
- false: ๋์ , ์ ์ ์๊ด์์ด ๋ค prefetchํ์ง ์์.
prefetch ์ต์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ์์ด์ผ๋ก์จ navigation์ด ๋ ๋น ๋ฅด๊ฒ ์ด๋ค์ง๊ฒ ํ ์ ์๋ค.
prefetch ์ต์ ์ด auto์ธ ์ํ
์ด 5๊ฐ์ ๋งํฌ ์ปดํฌ๋ํธ๊ฐ ๊ฑธ๋ ค์๋๋ฐ, ์ด์ ๋ฐ๋ผ ํด๋น ํ์ด์ง์ ๋ง๋ rsc_payload๊ฐ ๋ฏธ๋ฆฌ ๋ก๋๋จ์ ํ์ธํ ์ ์๋ค.
- ๋์ ๋ผ์ฐํ ํ์ด์ง๋ ์์๊ธฐ ๋๋ฌธ์ ๋ค prefetch
๋ก๋ ์๊ฐ์ ํ๊ท ์ ์ผ๋ก 16ms๋ก ๊ธธ์ง๋ ์์๋ค.
![[anatole/exampleSite/public/post/Pasted image 20251210134401.png]]
์ฃผ์ํ ์
- prefetch ์ต์
์ด true ๋ก ์ค์ ๋๋ฉด ์ ์ , ๋์ ๋ผ์ฐํธ์ ๋ฌด๊ดํ๊ฒ ์ ๋ถ ๋ค prefetchํ๊ฒ๋๋ ๋ฌธ์ ๊ฐ ์๋ฐ.
- ์๋ฅผ ๋ค์ด ํ์ฌ ์ฐ๋ฆฌ ์๋น์ค์๋ ์ ์ ๋ฆฌ์คํธ๋ก 100๋ช ์ด ๋๋ ์ ์ ๋ฅผ ์กฐํํ ์ ์๋ ํ์ด์ง๊ฐ ์๋ค.
- ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๊ฐ์ ํด๋ณผ ์ ์๋๋ฐ
- ์ ์ ๊ฐ์ธ ์กฐํ ์ Server-Side์์ ๋ฐ์ดํฐ ํ์นญ
- ์ ์ ๊ฐ์ธ๋ง๋ค Link ์ปดํฌ๋ํธ๋ก ์ฐ๊ฒฐ (prefetch ์ต์ true)
- ์ด๋ด ๊ฒฝ์ฐ ์ ์ ๋ฆฌ์คํธ์์ viewPort์ ๋ค์ด์ค๋ ์ ์ ๋ง๋ค prefetch ํ๊ฒ๋์ด ์๋ฒ ๋ถํ๋ ์ปค์ง ๋ฟ๋ง ์๋๋ผ ํ์ด์ง๋ ์ง์์ ์ธ data fetching์ผ๋ก ์ธํด ๋๋ ค์ง ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค.
- ๋๋ง, stackOverflow์์ ์ด๋ฐ ์ฌ๋ก๋ค์ ๋ณธ ์ ์ด ์๋ค.
- ๋ฐ๋ผ์ ์ ๋ฐ ์ต์ ๋ค๋ ๊ผผ๊ผผํ๊ฒ ๋ณด๋ ์ต๊ด์ ๊ธฐ๋ฅด์