Угњеждени распореди у NextJS-у
Као што знате, у фолдеру /app
у фајлу /layout.jsx
налази се главни распоред сајта.
По жељи, међутим, у угњежденим фолдерима можете креирати сопствене распореде. У том случају, садржај странице ће се прво уметнути у угњеждени распоред, а затим ће добијени резултат бити уметнут у главни распоред.
Хајде да испробамо у пракси. Нека наш главни распоред има следећи изглед:
export default function RootLayout({children}) {
return (
<html lang="en">
<body>
<header>
header
</header>
<main>
{children}
</main>
<footer>
footer
</footer>
</body>
</html>
);
}
Хајде да направимо још један,
угњеждени распоред за сав
садржај из фолдера /users:
export default function UsersLayout({children}) {
return (
<div className="info">
message for all users
</div>
<div className="content">
{children}
</div>
);
}
Као што видите, у овом распореду не наводимо основне тагове странице, јер они већ постоје у нашем главном распореду сајта.
Хајде да направимо и фајл са садржајем за приказ корисника:
export default function User() {
return <>
<h1>User</h1>
<p>
user description
</p>
</>;
}
После ових манипулација наша фајлова структура ће изгледати овако:
- /app/
- layout.jsx
- /users/
- layout.jsx
- /show/
- page.jsx
Сада, ако се приступи одговарајућем URL-у, NextJS ће све саставити заједно и у прегледачу добићемо следећи коначни HTML код:
<html lang="en">
<body>
<header>
header
</header>
<main>
<div class="info">
message for all users
</div>
<h1>User</h1>
<p>
user description
</p>
</main>
<footer>
footer
</footer>
</body>
</html>
Направите на сајту одељак са корисницима и одељак са постовима. Направите у сваком одељку сопствени распоред, који ће наслеђивати од главног распореда сајта.