⊗jsnxPmLtNL 42 of 57 menu

Layouts Aninhados no NextJS

Como você sabe, na pasta /app no arquivo /layout.jsx está localizado o layout principal do site.

No entanto, se desejar, é possível criar seus próprios layouts em pastas aninhadas. Nesse caso, o conteúdo da página será primeiro inserido no layout aninhado e, em seguida, o resultado será inserido no layout principal.

Vamos experimentar na prática. Suponha que nosso layout principal tenha a seguinte aparência:

export default function RootLayout({children}) { return ( <html lang="en"> <body> <header> header </header> <main> {children} </main> <footer> footer </footer> </body> </html> ); }

Vamos criar outro layout, aninhado, para todos os conteúdos da pasta /users:

export default function UsersLayout({children}) { return ( <div className="info"> mensagem para todos os usuários </div> <div className="content"> {children} </div> ); }

Como você pode ver, neste layout não incluímos as tags principais da página, pois elas já estão presentes no nosso layout principal do site.

Vamos também criar um arquivo com o conteúdo para exibir o usuário:

export default function User() { return <> <h1>Usuário</h1> <p> descrição do usuário </p> </>; }

Após essas manipulações, nossa estrutura de arquivos ficará assim:

  • /app/
    • layout.jsx
    • /users/
      • layout.jsx
      • /show/
        • page.jsx

Agora, se acessarmos a URL correspondente, o NextJS irá montar tudo e no navegador obteremos o seguinte código HTML final:

<html lang="en"> <body> <header> header </header> <main> <div class="info"> mensagem para todos os usuários </div> <h1>Usuário</h1> <p> descrição do usuário </p> </main> <footer> footer </footer> </body> </html>

Crie uma seção de usuários e uma seção de postagens no site. Crie em cada seção seu próprio layout, que herdará do layout principal do site.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar