๐ก ๋ชจ๋ ํ์ด์ง์ ์ ์ฉ๋๋ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ Layout
ex : ๋ง์ฝ nextjs์์ About-us ํ์ด์ง๋ฅผ ๋ผ์ฐํ ํ๊ณ ์ถ์ ๋?
- nextjs๋ ์ฐ์ ์ ์ผ๋ก Layout ์ปดํฌ๋ํธ๋ก ๊ฐ.
- ๊ทธ ํ export default ์ปดํฌ๋ํธ๋ฅผ ์ฐ์ ์ ์ผ๋ก ๋ ๋๋ง ํจ.
- ๋ง์ง๋ง์ผ๋ก About-us URL์ ํ์ธํ๊ณ ํด๋น ํ์ด์ง๋ฅผ ๋ ๋๋ง ํจ.
// layout.tsx export default function Layout({ children }: { children: React.ReactNode }) { return ( <html lang="en"> <body>{children}</body> </html> ); } // about-us ํ์ด์ง ๋ผ์ฐํ ๋ฐฉ์ <Layout> <About-us> // ์ layout ํจ์์ children์ ํด๋นํ๋ ๋ถ๋ถ (๋ด๋ถ์ ์๋ ์ปดํฌ๋ํธ๋ค์ ๋ฆฌ์กํธ์ ์ํด ์๋์ผ๋ก children์ด๋ผ๋ props๋ก ๋ฐ๋๊ฒ ๋จ.) <Layout>
// app/about-us/layout.tsx export default function Layout({ children }: { children: React.ReactNode }) { return ( <div> {children} © Next JS is great. </div> ); }
- ์์์ root.layout์ ๋ค๋น๊ฒ์ด์ ๊ณผ, about-us.layout์ ์์๋ค๊ณผ ๊ฐ์ด ์ค๋ณต๋๋ ๋ ์ด์์๋ค์ ์๋ก ์ค์ฒฉํด์ ์ฌ์ฉํจ.