Layout 은 wrap 하고 살아남아
layout.tsx 는 자기 segment 와 그 아래 모든 route 를 wrap 해. 핵심 속성: navigation 너머로 살아남는다. 사용자가 sibling page 사이로 클릭해도 layout component 는 unmount 안 함. Sidebar, navigation, layout 안 state 가 다 살아 있어.
필수 root layout
Next.js app 마다 app/layout.tsx 가 있어야 해. 과 tag 만들어야 함 — 다른 어디서도 못 만듦. Global font, language attribute, body class 가 사는 자리.
Layout props
Layout 은 children (nested page 또는 layout) 받고, v15+ 에선 dynamic segment 안에 있을 때 params 가 Promise 로 옴.
Layout 이 못 하는 것
Layout 은 searchParams 안 받음. Layout 이 query string 에 의존하면 구조 다시 짜 — query string 으로 들어오는 data 를 layout 말고 page 안 Server Component 로 패스.