# React Review Matrix ## Configuration detection - Read `package.json`, `tsconfig.json`, ESLint config, framework config, and build setup. - Detect React version, Next.js version, TypeScript version, and testing setup. ## Readability rules - Components should be easy to scan. - Props should be explicit and well named. - Business logic should not be buried in JSX noise. - Avoid deeply nested conditional rendering when a clearer structure would help. - Prefer predictable state flow over clever abstractions. ## Modern React usage - Use modern React and framework features only when the installed version supports them and they improve maintainability. - Check whether newer APIs such as `useEffectEvent`, transitions, server components, or framework-native data loading would simplify the code. - Do not insist on `useMemo` or `useCallback` unless they are justified. - Avoid stale patterns if the installed version provides a clearer and safer replacement. ## Harsh review checks - Unclear ownership of state. - Effect misuse. - Derived state bugs. - Excessive prop drilling when a better structure exists. - Over-componentization that hurts readability. - Poor separation between UI, data, and business rules. - Missing loading, empty, and error states. - Avoidable render churn and unstable object creation in hot paths.