Layout получает children (matched child segment) и рендерит где угодно. По умолчанию server — можно await data. Но layout persist — data fetch один раз, не re-run при navigation между children.
Разбор
Layout data — «shared, session-stable»; page data — «per-route, fresh».
Три инструмента рядом:
- Route Groups
(name) — папки в скобках организуют файлы или layout для subset routes без URL segment. app/(marketing)/about/page.tsx → /about.
template.tsx — как layout, но противоположность persistence: новый instance на каждую navigation, reset state и effects. Enter animation или fresh error boundary per visit.
- Private folders
_name — opt out из routing (colocated helpers, components).
Итог
Layouts — стабильная оболочка; per-route data — в page, не в layout. Route groups не меняют URL.