⊗jsnxPmLtNL 42 of 57 menu

Вложени оформления в 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>

Направете в сайта раздел с потребители и раздел с постове. Направете във всеки раздел свое оформление, което ще наследява от основното оформление на сайта.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне