Episode 2 — React Frontend Architecture NextJS / 2.11 — Routing and Application Structure
2.11.a — React Router: client-side navigation
Learning outcomes
- Explain client-side routing vs full page loads.
- Bootstrap a React SPA with
BrowserRouter(or data router APIs per your stack). - Avoid the most common hosting 404 pitfall on refresh.
Why routing exists in SPAs
React renders UI in the browser. The URL is still the universal way to:
- share a location (
/invoices/42) - use back/forward meaningfully
- deep-link into authenticated areas (with guards)
React Router maps URL patterns to elements (components) and keeps them in sync with history.
Minimal v6 setup
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";
export function App() {
return (
<BrowserRouter>
<nav>
<Link to="/">Home</Link> | <Link to="/about">About</Link>
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>
);
}
function Home() {
return <h1>Home</h1>;
}
function About() {
return <h1>About</h1>;
}
Use Link (or NavLink) instead of <a href> for in-app navigation to avoid full reloads.
Deployment note
With BrowserRouter, refreshing /about asks the static server for /about. Configure fallback to index.html (or use a host that understands SPAs).
Appendix — Scenario bank (basic → advanced)
Drill format: broken URL / UX → root cause → fix → interview phrase.
RR0-001 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-002 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-003 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-004 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-005 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-006 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-007 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-008 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-009 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-010 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-011 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-012 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-013 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-014 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-015 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-016 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-017 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-018 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-019 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-020 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-021 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-022 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-023 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-024 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-025 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-026 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-027 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-028 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-029 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-030 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-031 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-032 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-033 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-034 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-035 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-036 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-037 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-038 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-039 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-040 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-041 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-042 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-043 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-044 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-045 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-046 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-047 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-048 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-049 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-050 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-051 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-052 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-053 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-054 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-055 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-056 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-057 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-058 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-059 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-060 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-061 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-062 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-063 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-064 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-065 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-066 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-067 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-068 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-069 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-070 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-071 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-072 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-073 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-074 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-075 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-076 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-077 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-078 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-079 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-080 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-081 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-082 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-083 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-084 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-085 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-086 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-087 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-088 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-089 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-090 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-091 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-092 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-093 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-094 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-095 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-096 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-097 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-098 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-099 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-100 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-101 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-102 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-103 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-104 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-105 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-106 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-107 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-108 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-109 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-110 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-111 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-112 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-113 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-114 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-115 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-116 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-117 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-118 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-119 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-120 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-121 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-122 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-123 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-124 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-125 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-126 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-127 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-128 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-129 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-130 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-131 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-132 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-133 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-134 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-135 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-136 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-137 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-138 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-139 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-140 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-141 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-142 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-143 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-144 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-145 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-146 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-147 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-148 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-149 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-150 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-151 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-152 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-153 — React Router intro #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: Full page reload still happening because
<a href>used instead of<Link>. - Primary remediation: Replace anchors with
LinkorNavLinkfor in-app navigation. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-154 — React Router intro #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: basename missing under subpath deploy causing broken links.
- Primary remediation: Single Router at root; pass history features once.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-155 — React Router intro #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: Using HashRouter to 'fix' deployment instead of configuring host rewrite.
- Primary remediation: Pin
react-router-dommajor version; read migration guide when upgrading. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-156 — React Router intro #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: Hosting SPA without fallback route sends
/dashboardto server 404. - Primary remediation: Configure server/CDN to serve
index.htmlfor unknown paths (or use framework host). - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-157 — React Router intro #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: Router version mismatch between tutorial and installed package.
- Primary remediation: Prefer BrowserRouter + correct hosting; reserve hash for legacy constraints only.
- Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.
RR0-158 — React Router intro #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: Two Router providers nested causing confusing context errors.
- Primary remediation: Set
basenameon Router when app lives under subfolder. - Verify: direct URL load, back/forward, deep link from email, mobile share sheet.
- Interview one-liner: Client routing keeps UI stateful; the server must still know how to boot the SPA for arbitrary paths.