Persistence — зачем App Router navigation ощущается app-like: sidebars, tabs, media сохраняются. Но layout — не место для per-route data.
Разбор
template vs layout — реальное решение, не синоним. Template re-mount: fresh render и потеря state, но per-navigation animations и reset error/suspense. template — когда нужен именно reset.
- Route groups могут задавать multiple root layouts (marketing shell и app shell), но переход между двумя root layouts — full page reload — осознанный trade-off для смены всего
<html>.
Итог
Layout = persistence; template = reset; multiple root layouts = reload при cross-shell navigation.