What to look for.
CORRECTNESS
Every state handled: loading, empty, error
Edge cases: no data, very long content, failures
Cleanup of listeners, timers and subscriptions
ACCESSIBILITY
Native elements used Keyboard operable Focus visible and managed Accessible names present Announcements for dynamic changes
PERFORMANCE
Bundle impact of any new dependency Unnecessary re-renders Large lists handled Images sized and optimised
STATE
Anything derived that should be computed Anything duplicated Anything global that should be local
STRUCTURE
Component size and responsibility Whether logic belongs in a hook or a plain function Whether something duplicates existing shared code
WHAT NOT TO REVIEW
Formatting, which tooling handles.
WHAT TO AUTOMATE BEFORE REVIEW
Formatting, linting, type checking, tests, bundle size.
WHY
So review addresses what only a person can judge.
WHAT TO ASK
Would someone unfamiliar understand this in six months?