
// layout.js
export const metadata = {
title: 'Next.js',
description: 'Generated by Next.js',
}
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>{children}</body>
</html>
)
}
// html의 body 태그 내에 아래와 같이 레이아웃을 만들어 줄 수 있음
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<header
style={{
backgroundColor: "lightblue",
padding: "1rem",
}}
>
<p>Header</p>
</header>
{children}
<footer
style ={{
backgroundColor: "ghostwhite",
padding: "1rem"
}}>
<p>Footer</p>
</footer>
</body>
</html>
)
}
이렇게 root layout에 header 태그와 footer 태그를 추가해주면



이렇게 모든 next.js의 페이지에 뜨게 된다
예를 들어 product의 detail page에 접근했을 때 product detail에 해당하는 레이아웃 컨텐츠를 추가시키고 싶은 경우

컨텐츠를 추가하고 싶은 페이지의 경로(여기선 [productId] 폴더)에 layout.js를 만들어주면

해당 이미지의 Header,Footer(root layout)안에 Featured product(productDetailLayout)이 중첩되어 레아아웃 된다.
이걸 중첩된 레이아웃(Nested Layout)이라 함
만약 라우트 그룹을 만들고 해당 라우트 그룹에서 추가적인 레이아웃 컨텐츠를 만들고 싶으면

이와 같이 경로를 지정해주면 /login, /register 경로에서만 AuthLayout이 출력되게 된다.
