React performanceintermediate
Re-sorting a thousand rows on every keystroke is why a table feels slow; useMemo tells React to only redo that work when the inputs actually change.
Two feature areas that should not be in the first bundle, behind a guard that remembers where you were going, with a loader that fetches before the component renders and something sensible for a path nobody defined.
See alsoRoutes and GuardsThe same problems in Angular — lazy loading, a guard, a redirect that remembers, a resolver.
The first bundle contains neither feature, an unauthenticated visit remembers its destination, and no route can render a blank screen.
Published in full, before you start — every point is one of these and there is nothing else.
Re-sorting a thousand rows on every keystroke is why a table feels slow; useMemo tells React to only redo that work when the inputs actually change.
Authentication is who you are; authorization is what you are allowed to do. Policies keep that rule in one place instead of scattered if-statements.
Anything that talks to a network can be slow or fail; a screen with no loading state and no error state is a screen that looks broken the first time the wifi drops.
Network calls fail. Code that assumes they succeed turns a slow connection into a blank screen with no explanation.