⊗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 барчасини бирлаштириб, браузерда биз куйидаги yakuniy 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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш