⊗jsnxPmLtNL 42 of 57 menu

NextJS-те ішкі макеттер

Өздеріңіз білетіндей, /app бумасындағы layout.jsx файлында сайттың негізгі макеты орналасады.

Қажет болған жағдайда, ішкі бумаларда өз макеттеріңізді жасауға болады. Бұл жағдайда беттің мазмұны алдымен ішкі макетке салынады, содан кейін шыққан нәтиже негізгі макетке салынады.

Тәжірибеде көрейік. Біздің негізгі макетimiz келесідей болсын:

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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау