Episode 2 — React Frontend Architecture NextJS / 2.11 — Routing and Application Structure
2.11.b — Routes & nested routes
Learning outcomes
- Nest routes with parent
Route+ child routes. - Render child routes with
<Outlet />. - Use index routes for sensible defaults.
Nested example
import { Outlet, Route, Routes } from "react-router-dom";
function DashboardLayout() {
return (
<div className="layout">
<aside>Sidebar</aside>
<main>
<Outlet />
</main>
</div>
);
}
export function AppRoutes() {
return (
<Routes>
<Route path="/" element={<Home />} />
<Route path="/dashboard" element={<DashboardLayout />}>
<Route index element={<DashboardHome />} />
<Route path="invoices" element={<Invoices />} />
<Route path="settings" element={<Settings />} />
</Route>
</Routes>
);
}
function Home() {
return <h1>Home</h1>;
}
function DashboardHome() {
return <p>Dashboard overview</p>;
}
function Invoices() {
return <p>Invoices</p>;
}
function Settings() {
return <p>Settings</p>;
}
/dashboard shows DashboardHome (index). /dashboard/invoices shows Invoices inside the layout.
Appendix — Scenario bank (basic → advanced)
Drill format: broken URL / UX → root cause → fix → interview phrase.
RR1-001 — Nested routes #1
- Level: Beginner
- Symptom: 404 on refresh at depth
13or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-002 — Nested routes #2
- Level: Beginner+
- Symptom: 404 on refresh at depth
26or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-003 — Nested routes #3
- Level: Intermediate
- Symptom: 404 on refresh at depth
39or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-004 — Nested routes #4
- Level: Intermediate+
- Symptom: 404 on refresh at depth
52or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-005 — Nested routes #5
- Level: Advanced
- Symptom: 404 on refresh at depth
65or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-006 — Nested routes #6
- Level: Advanced+
- Symptom: 404 on refresh at depth
78or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-007 — Nested routes #7
- Level: Beginner
- Symptom: 404 on refresh at depth
91or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-008 — Nested routes #8
- Level: Beginner+
- Symptom: 404 on refresh at depth
104or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-009 — Nested routes #9
- Level: Intermediate
- Symptom: 404 on refresh at depth
117or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-010 — Nested routes #10
- Level: Intermediate+
- Symptom: 404 on refresh at depth
130or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-011 — Nested routes #11
- Level: Advanced
- Symptom: 404 on refresh at depth
143or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-012 — Nested routes #12
- Level: Advanced+
- Symptom: 404 on refresh at depth
156or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-013 — Nested routes #13
- Level: Beginner
- Symptom: 404 on refresh at depth
169or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-014 — Nested routes #14
- Level: Beginner+
- Symptom: 404 on refresh at depth
182or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-015 — Nested routes #15
- Level: Intermediate
- Symptom: 404 on refresh at depth
195or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-016 — Nested routes #16
- Level: Intermediate+
- Symptom: 404 on refresh at depth
8or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-017 — Nested routes #17
- Level: Advanced
- Symptom: 404 on refresh at depth
21or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-018 — Nested routes #18
- Level: Advanced+
- Symptom: 404 on refresh at depth
34or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-019 — Nested routes #19
- Level: Beginner
- Symptom: 404 on refresh at depth
47or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-020 — Nested routes #20
- Level: Beginner+
- Symptom: 404 on refresh at depth
60or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-021 — Nested routes #21
- Level: Intermediate
- Symptom: 404 on refresh at depth
73or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-022 — Nested routes #22
- Level: Intermediate+
- Symptom: 404 on refresh at depth
86or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-023 — Nested routes #23
- Level: Advanced
- Symptom: 404 on refresh at depth
99or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-024 — Nested routes #24
- Level: Advanced+
- Symptom: 404 on refresh at depth
112or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-025 — Nested routes #25
- Level: Beginner
- Symptom: 404 on refresh at depth
125or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-026 — Nested routes #26
- Level: Beginner+
- Symptom: 404 on refresh at depth
138or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-027 — Nested routes #27
- Level: Intermediate
- Symptom: 404 on refresh at depth
151or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-028 — Nested routes #28
- Level: Intermediate+
- Symptom: 404 on refresh at depth
164or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-029 — Nested routes #29
- Level: Advanced
- Symptom: 404 on refresh at depth
177or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-030 — Nested routes #30
- Level: Advanced+
- Symptom: 404 on refresh at depth
190or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-031 — Nested routes #31
- Level: Beginner
- Symptom: 404 on refresh at depth
3or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-032 — Nested routes #32
- Level: Beginner+
- Symptom: 404 on refresh at depth
16or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-033 — Nested routes #33
- Level: Intermediate
- Symptom: 404 on refresh at depth
29or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-034 — Nested routes #34
- Level: Intermediate+
- Symptom: 404 on refresh at depth
42or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-035 — Nested routes #35
- Level: Advanced
- Symptom: 404 on refresh at depth
55or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-036 — Nested routes #36
- Level: Advanced+
- Symptom: 404 on refresh at depth
68or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-037 — Nested routes #37
- Level: Beginner
- Symptom: 404 on refresh at depth
81or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-038 — Nested routes #38
- Level: Beginner+
- Symptom: 404 on refresh at depth
94or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-039 — Nested routes #39
- Level: Intermediate
- Symptom: 404 on refresh at depth
107or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-040 — Nested routes #40
- Level: Intermediate+
- Symptom: 404 on refresh at depth
120or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-041 — Nested routes #41
- Level: Advanced
- Symptom: 404 on refresh at depth
133or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-042 — Nested routes #42
- Level: Advanced+
- Symptom: 404 on refresh at depth
146or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-043 — Nested routes #43
- Level: Beginner
- Symptom: 404 on refresh at depth
159or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-044 — Nested routes #44
- Level: Beginner+
- Symptom: 404 on refresh at depth
172or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-045 — Nested routes #45
- Level: Intermediate
- Symptom: 404 on refresh at depth
185or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-046 — Nested routes #46
- Level: Intermediate+
- Symptom: 404 on refresh at depth
198or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-047 — Nested routes #47
- Level: Advanced
- Symptom: 404 on refresh at depth
11or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-048 — Nested routes #48
- Level: Advanced+
- Symptom: 404 on refresh at depth
24or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-049 — Nested routes #49
- Level: Beginner
- Symptom: 404 on refresh at depth
37or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-050 — Nested routes #50
- Level: Beginner+
- Symptom: 404 on refresh at depth
50or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-051 — Nested routes #51
- Level: Intermediate
- Symptom: 404 on refresh at depth
63or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-052 — Nested routes #52
- Level: Intermediate+
- Symptom: 404 on refresh at depth
76or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-053 — Nested routes #53
- Level: Advanced
- Symptom: 404 on refresh at depth
89or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-054 — Nested routes #54
- Level: Advanced+
- Symptom: 404 on refresh at depth
102or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-055 — Nested routes #55
- Level: Beginner
- Symptom: 404 on refresh at depth
115or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-056 — Nested routes #56
- Level: Beginner+
- Symptom: 404 on refresh at depth
128or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-057 — Nested routes #57
- Level: Intermediate
- Symptom: 404 on refresh at depth
141or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-058 — Nested routes #58
- Level: Intermediate+
- Symptom: 404 on refresh at depth
154or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-059 — Nested routes #59
- Level: Advanced
- Symptom: 404 on refresh at depth
167or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-060 — Nested routes #60
- Level: Advanced+
- Symptom: 404 on refresh at depth
180or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-061 — Nested routes #61
- Level: Beginner
- Symptom: 404 on refresh at depth
193or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-062 — Nested routes #62
- Level: Beginner+
- Symptom: 404 on refresh at depth
6or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-063 — Nested routes #63
- Level: Intermediate
- Symptom: 404 on refresh at depth
19or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-064 — Nested routes #64
- Level: Intermediate+
- Symptom: 404 on refresh at depth
32or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-065 — Nested routes #65
- Level: Advanced
- Symptom: 404 on refresh at depth
45or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-066 — Nested routes #66
- Level: Advanced+
- Symptom: 404 on refresh at depth
58or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-067 — Nested routes #67
- Level: Beginner
- Symptom: 404 on refresh at depth
71or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-068 — Nested routes #68
- Level: Beginner+
- Symptom: 404 on refresh at depth
84or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-069 — Nested routes #69
- Level: Intermediate
- Symptom: 404 on refresh at depth
97or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-070 — Nested routes #70
- Level: Intermediate+
- Symptom: 404 on refresh at depth
110or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-071 — Nested routes #71
- Level: Advanced
- Symptom: 404 on refresh at depth
123or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-072 — Nested routes #72
- Level: Advanced+
- Symptom: 404 on refresh at depth
136or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-073 — Nested routes #73
- Level: Beginner
- Symptom: 404 on refresh at depth
149or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-074 — Nested routes #74
- Level: Beginner+
- Symptom: 404 on refresh at depth
162or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-075 — Nested routes #75
- Level: Intermediate
- Symptom: 404 on refresh at depth
175or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-076 — Nested routes #76
- Level: Intermediate+
- Symptom: 404 on refresh at depth
188or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-077 — Nested routes #77
- Level: Advanced
- Symptom: 404 on refresh at depth
1or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-078 — Nested routes #78
- Level: Advanced+
- Symptom: 404 on refresh at depth
14or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-079 — Nested routes #79
- Level: Beginner
- Symptom: 404 on refresh at depth
27or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-080 — Nested routes #80
- Level: Beginner+
- Symptom: 404 on refresh at depth
40or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-081 — Nested routes #81
- Level: Intermediate
- Symptom: 404 on refresh at depth
53or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-082 — Nested routes #82
- Level: Intermediate+
- Symptom: 404 on refresh at depth
66or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-083 — Nested routes #83
- Level: Advanced
- Symptom: 404 on refresh at depth
79or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-084 — Nested routes #84
- Level: Advanced+
- Symptom: 404 on refresh at depth
92or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-085 — Nested routes #85
- Level: Beginner
- Symptom: 404 on refresh at depth
105or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-086 — Nested routes #86
- Level: Beginner+
- Symptom: 404 on refresh at depth
118or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-087 — Nested routes #87
- Level: Intermediate
- Symptom: 404 on refresh at depth
131or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-088 — Nested routes #88
- Level: Intermediate+
- Symptom: 404 on refresh at depth
144or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-089 — Nested routes #89
- Level: Advanced
- Symptom: 404 on refresh at depth
157or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-090 — Nested routes #90
- Level: Advanced+
- Symptom: 404 on refresh at depth
170or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-091 — Nested routes #91
- Level: Beginner
- Symptom: 404 on refresh at depth
183or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-092 — Nested routes #92
- Level: Beginner+
- Symptom: 404 on refresh at depth
196or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-093 — Nested routes #93
- Level: Intermediate
- Symptom: 404 on refresh at depth
9or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-094 — Nested routes #94
- Level: Intermediate+
- Symptom: 404 on refresh at depth
22or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-095 — Nested routes #95
- Level: Advanced
- Symptom: 404 on refresh at depth
35or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-096 — Nested routes #96
- Level: Advanced+
- Symptom: 404 on refresh at depth
48or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-097 — Nested routes #97
- Level: Beginner
- Symptom: 404 on refresh at depth
61or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-098 — Nested routes #98
- Level: Beginner+
- Symptom: 404 on refresh at depth
74or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-099 — Nested routes #99
- Level: Intermediate
- Symptom: 404 on refresh at depth
87or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-100 — Nested routes #100
- Level: Intermediate+
- Symptom: 404 on refresh at depth
100or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-101 — Nested routes #101
- Level: Advanced
- Symptom: 404 on refresh at depth
113or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-102 — Nested routes #102
- Level: Advanced+
- Symptom: 404 on refresh at depth
126or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-103 — Nested routes #103
- Level: Beginner
- Symptom: 404 on refresh at depth
139or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-104 — Nested routes #104
- Level: Beginner+
- Symptom: 404 on refresh at depth
152or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-105 — Nested routes #105
- Level: Intermediate
- Symptom: 404 on refresh at depth
165or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-106 — Nested routes #106
- Level: Intermediate+
- Symptom: 404 on refresh at depth
178or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-107 — Nested routes #107
- Level: Advanced
- Symptom: 404 on refresh at depth
191or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-108 — Nested routes #108
- Level: Advanced+
- Symptom: 404 on refresh at depth
4or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-109 — Nested routes #109
- Level: Beginner
- Symptom: 404 on refresh at depth
17or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-110 — Nested routes #110
- Level: Beginner+
- Symptom: 404 on refresh at depth
30or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-111 — Nested routes #111
- Level: Intermediate
- Symptom: 404 on refresh at depth
43or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-112 — Nested routes #112
- Level: Intermediate+
- Symptom: 404 on refresh at depth
56or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-113 — Nested routes #113
- Level: Advanced
- Symptom: 404 on refresh at depth
69or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-114 — Nested routes #114
- Level: Advanced+
- Symptom: 404 on refresh at depth
82or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-115 — Nested routes #115
- Level: Beginner
- Symptom: 404 on refresh at depth
95or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-116 — Nested routes #116
- Level: Beginner+
- Symptom: 404 on refresh at depth
108or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-117 — Nested routes #117
- Level: Intermediate
- Symptom: 404 on refresh at depth
121or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-118 — Nested routes #118
- Level: Intermediate+
- Symptom: 404 on refresh at depth
134or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-119 — Nested routes #119
- Level: Advanced
- Symptom: 404 on refresh at depth
147or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-120 — Nested routes #120
- Level: Advanced+
- Symptom: 404 on refresh at depth
160or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-121 — Nested routes #121
- Level: Beginner
- Symptom: 404 on refresh at depth
173or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-122 — Nested routes #122
- Level: Beginner+
- Symptom: 404 on refresh at depth
186or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-123 — Nested routes #123
- Level: Intermediate
- Symptom: 404 on refresh at depth
199or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-124 — Nested routes #124
- Level: Intermediate+
- Symptom: 404 on refresh at depth
12or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-125 — Nested routes #125
- Level: Advanced
- Symptom: 404 on refresh at depth
25or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-126 — Nested routes #126
- Level: Advanced+
- Symptom: 404 on refresh at depth
38or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-127 — Nested routes #127
- Level: Beginner
- Symptom: 404 on refresh at depth
51or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-128 — Nested routes #128
- Level: Beginner+
- Symptom: 404 on refresh at depth
64or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-129 — Nested routes #129
- Level: Intermediate
- Symptom: 404 on refresh at depth
77or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-130 — Nested routes #130
- Level: Intermediate+
- Symptom: 404 on refresh at depth
90or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-131 — Nested routes #131
- Level: Advanced
- Symptom: 404 on refresh at depth
103or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-132 — Nested routes #132
- Level: Advanced+
- Symptom: 404 on refresh at depth
116or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-133 — Nested routes #133
- Level: Beginner
- Symptom: 404 on refresh at depth
129or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-134 — Nested routes #134
- Level: Beginner+
- Symptom: 404 on refresh at depth
142or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-135 — Nested routes #135
- Level: Intermediate
- Symptom: 404 on refresh at depth
155or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-136 — Nested routes #136
- Level: Intermediate+
- Symptom: 404 on refresh at depth
168or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-137 — Nested routes #137
- Level: Advanced
- Symptom: 404 on refresh at depth
181or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-138 — Nested routes #138
- Level: Advanced+
- Symptom: 404 on refresh at depth
194or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-139 — Nested routes #139
- Level: Beginner
- Symptom: 404 on refresh at depth
7or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-140 — Nested routes #140
- Level: Beginner+
- Symptom: 404 on refresh at depth
20or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-141 — Nested routes #141
- Level: Intermediate
- Symptom: 404 on refresh at depth
33or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-142 — Nested routes #142
- Level: Intermediate+
- Symptom: 404 on refresh at depth
46or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-143 — Nested routes #143
- Level: Advanced
- Symptom: 404 on refresh at depth
59or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-144 — Nested routes #144
- Level: Advanced+
- Symptom: 404 on refresh at depth
72or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-145 — Nested routes #145
- Level: Beginner
- Symptom: 404 on refresh at depth
85or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-146 — Nested routes #146
- Level: Beginner+
- Symptom: 404 on refresh at depth
98or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-147 — Nested routes #147
- Level: Intermediate
- Symptom: 404 on refresh at depth
111or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-148 — Nested routes #148
- Level: Intermediate+
- Symptom: 404 on refresh at depth
124or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-149 — Nested routes #149
- Level: Advanced
- Symptom: 404 on refresh at depth
137or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-150 — Nested routes #150
- Level: Advanced+
- Symptom: 404 on refresh at depth
150or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-151 — Nested routes #151
- Level: Beginner
- Symptom: 404 on refresh at depth
163or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-152 — Nested routes #152
- Level: Beginner+
- Symptom: 404 on refresh at depth
176or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-153 — Nested routes #153
- Level: Intermediate
- Symptom: 404 on refresh at depth
189or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Duplicate route paths in different branches matching wrong winner.
- Primary remediation: Audit route definitions; use route config array for large apps.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-154 — Nested routes #154
- Level: Intermediate+
- Symptom: 404 on refresh at depth
2or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Index route missing causing parent path to show blank.
- Primary remediation: Order specific routes before splats; follow RR matching rules.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-155 — Nested routes #155
- Level: Advanced
- Symptom: 404 on refresh at depth
15or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Relative
topaths resolve unexpectedly after moving route tree. - Primary remediation: Wrap lazy components with Suspense at layout or route level.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-156 — Nested routes #156
- Level: Advanced+
- Symptom: 404 on refresh at depth
28or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Forgot
<Outlet />so child routes render nowhere. - Primary remediation: Place Outlet where children should render; visualize route tree on paper.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-157 — Nested routes #157
- Level: Beginner
- Symptom: 404 on refresh at depth
41or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Lazy routes without Suspense boundary around Outlet subtree.
- Primary remediation: Prefer absolute paths for nav when tree moves often; document team rule.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.
RR1-158 — Nested routes #158
- Level: Beginner+
- Symptom: 404 on refresh at depth
54or wrong active nav highlight. - Structure symptom: duplicated layout or import cycles after refactor.
- Root cause class: Route element swapped order causing unreachable routes.
- Primary remediation: Add
indexroute or redirect from parent to default child. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Nested routes should mirror your UI composition: layout owns chrome, children own pages.