⊗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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ