Layout no re-render, root layout <html>/<body>, 'use client' boundary, page vs route mutual exclusion.
Разбор
layout.tsx не re-render между children. Per-page data в layout → stale. Layouts — shared shell; pages — per-route data.
- Root layout must render
<html> и <body> — no _document. Common first-day error.
'use client' — boundary, not file. Everything imported below — client code. Placement matters.
page.tsx vs route.ts mutually exclusive same segment — UI or API endpoint.
- App и Pages Router coexist (
app/ + pages/), но один path — один router.
Итог
First-week gotchas: layout persistence, root HTML tags, client boundary scope.