joinmarket-webui/jam

[v2] avoid recreating browser router on every app render

Open

#1155 aperta il 27 feb 2026

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)TypeScript (108 fork)auto 404
buggood first issuev2

Metriche repository

Star
 (325 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

right now createBrowserRouter() is being called inside the App component body, which means a new router instance gets created on every render.

since App re-renders on state, context, and translation changes, this causes the router to be recreated repeatedly. react router expects the router instance to be stable, and recreating it can reset internal navigation state, interrupt pending fetchers, and potentially cause subtle routing bugs.

the router should be memoized with the correct dependencies or refactored so it is created once and remains stable across renders.

Guida contributor