Next.js μμλ <a>
νκ·Έλ₯Ό μ¬μ©ν΄μ νμ΄μ§ μ΄λνλ κ²μ λ°κ°μ νμ§ μμ΅λλ€.
μ΄μ λ, μ± λ΄μμ νμ΄μ§λ₯Ό μ΄λ ν λ μ¬μ©νλ νΉμ μ»΄ν¬λνΈκ° μ‘΄μ¬νκΈ° λλ¬Έ μ
λλ€.
- React μμ React router link λ₯Ό μ¬μ©νλ μ΄μ μ κ°μ΅λλ€.
<a>
νκ·Έλ₯Ό μ¬μ©ν΄μ νμ΄μ§λ₯Ό μ΄λνκ² λλ©΄ μ ν리μΌμ΄μ μ μλ‘κ³ μΉ¨μ΄ λ°μ ν©λλ€.
Link
- νμ΄μ§κ°μ νμμ CSRμΌλ‘ μ§ν ν μ μμ΅λλ€.
- Code Splittingμ΄ νμ΄μ§ λ³λ‘ μ§ν λμ΄ κ° νμ΄μ§μμ νμν κ²λ§ λ‘λν μ μλλ‘ ν©λλ€.
- νΉμ νμ΄μ§μμ μ€λ₯κ° λ°μνλλΌλ λλ¨Έμ§ μ±μ μ μ μλ ν©λλ€.
- λΌμ°ν λΌμ΄λΈλ¬λ¦¬κ° νμνμ§ μμ΅λλ€.
next/link
κ°μ₯ λ¨Όμ import λ₯Ό ν©λλ€. λ³λμ μ€μΉλ νμνμ§ μμ΅λλ€.
import Link from "next/link";
μμ μ¬μ§μ μλ μ½λλ₯Ό μλ§κ² λ°κΎΈλ©΄
import Link from "next/link";
const NavBar = () => {
return (
<nav>
<Link href="/home">
<a>Home</a>
</Link>
<a href="/About">About</a>
</nav>
);
}
export default NavBar;
- νμ΄μ§ μ ν μλλ₯Ό λΉκ΅νκΈ° μν΄ ν μͺ½λ§ λ°κΏ¨μ΅λλ€.
Linkμ propsμ 리
href ( νμ )
- μ΄λν κ²½λ‘ νΉμ URL
<Link href="μ΄λν κ²½λ‘ νΉμ URL">
...
</Link>
as
<Link href="/" as="λΈλΌμ°μ μ μ£Όμμ°½μ νμλ URL">
...
</Link>
passHref
- κΈ°λ³Έκ° : false
- next Linkμμ νμ μ»΄ν¬λνΈλ‘ href μμ±μ μ λ¬ν΄μ£Όλ μν
<Link href={{ pathname: "post", query: { id: post_id } }} passHref>
<ChildATag>Aνκ·Έ</ChildATag> // μμνκ·Έκ° styled component aνκ·ΈμΈ κ²½μ°
</Link>
//μ°Έκ³ : https://f-dever-error-log.tistory.com/56
- μμ²λΌ passHrefλ₯Ό λ£μ΄μ μμ±ν΄μΌ μμ μ»΄ν¬λνΈμ aνκ·Έμ hrefκ° μ λ¬ λ©λλ€.
- λ λ§μ μλ£λ μ°Έκ³ λμ μμ΅λλ€.
Link λ Prefetching
<Link>
μ»΄ν¬λνΈλ₯Ό μ΄μ©νλ©΄, Viewportμ Link μ»΄ν¬λνΈκ° λ
ΈμΆλμμλ
href λ‘ μ°κ²°λ νμ΄μ§μ chunkλ₯Ό λ‘λ ν©λλ€.
μ΄λ₯Ό ν΅ν΄ μ±λ₯μ μ΅μ ν ν©λλ€.
Link Styles
- λ³Έ μλΉμ€ μΈλΆ λ§ν¬λ‘ μ°κ²° ν λλ
<a>
tag λ§ μ°λ©΄ λ¨ - Link Componentμ μ€νμΌμ μ€ λλ
<a>
tag μ μ€μΌ ν¨
μ°Έκ³
'π Front-End > Next.js' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Dynamic Routes (0) | 2022.10.26 |
---|---|
Next.js - Assets, Meta data, CSS (0) | 2022.10.26 |
Next.js - Routing (0) | 2022.10.26 |
Next.js - Pre Rendering (0) | 2022.10.26 |
Next.js - Data Fetching (0) | 2022.10.26 |