React (general) implementation checklist
This production-readiness checklist provides a technical verification framework for React applications to ensure performance, accessibility, and reliability standards are met before deployment.
Performance and Resource Management
0/5Implement Route-Based Code Splitting
criticalUtilize React.lazy and Suspense to split the main bundle into route-specific chunks, reducing the initial JavaScript payload size.
Audit Component Re-renders
recommendedUse the React DevTools Profiler to identify and eliminate redundant renders in expensive components using React.memo or the React Compiler.
Optimize Image Assets
criticalVerify all images use modern formats (WebP/AVIF), include explicit width/height to prevent Layout Shift, and implement lazy loading for off-screen content.
Analyze Bundle Composition
recommendedRun source-map-explorer or a similar bundle analyzer to identify and replace oversized or duplicate third-party dependencies.
Stabilize Hook Dependencies
criticalEnsure all useEffect, useMemo, and useCallback hooks have complete dependency arrays to prevent stale closures or infinite loops.
State Management and Data Fetching
0/5Configure Cache Stale Times
recommendedSet explicit staleTime and gcTime in React Query or SWR to prevent excessive background refetches and unnecessary network traffic.
Implement Global Error Boundaries
criticalWrap the application root and high-risk feature modules in Error Boundaries to prevent a single component crash from unmounting the entire tree.
Validate Form States
recommendedVerify that all forms manage 'isSubmitting' and 'isValid' states to prevent double-submissions and provide immediate user feedback.
Sanitize Context Providers
recommendedVerify that Context providers only pass memoized values to avoid triggering re-renders in all consumer components when the provider's parent renders.
Handle Empty and Loading States
recommendedEnsure every data-driven component has defined skeleton screens or empty-state UI to prevent layout jumping during fetch operations.
Accessibility (a11y) and UX
0/5Verify Keyboard Focus Management
criticalEnsure all interactive elements are reachable via Tab and that focus is programmatically moved when opening or closing modals and drawers.
Audit ARIA Attributes
criticalVerify that custom UI components (tabs, accordions, dropdowns) use correct aria-expanded, aria-controls, and role attributes for screen readers.
Check Color Contrast
criticalValidate that all text-to-background combinations meet WCAG AA standards (minimum 4.5:1 ratio) using automated linting or browser tools.
Use Semantic HTML Elements
criticalReplace non-semantic div/span click handlers with actual button or anchor tags to ensure native keyboard support and accessibility tree mapping.
Implement Skip Links
optionalAdd a hidden 'Skip to Main Content' link at the start of the DOM to allow keyboard users to bypass navigation menus.
Testing and Code Quality
0/5Enforce Strict TypeScript
criticalEnable strict mode in tsconfig.json and eliminate 'any' types to ensure type safety across component props and API responses.
Test Critical User Paths
criticalExecute integration tests using React Testing Library for 'Happy Path' scenarios like user authentication and core transaction flows.
Mock API Responses for Edge Cases
recommendedUse Mock Service Worker (MSW) to simulate 404, 500, and timeout errors to verify UI resilience under failure conditions.
Configure Pre-commit Hooks
recommendedUtilize Husky to run ESLint and Prettier before every commit to ensure code consistency and prevent syntax errors in the repository.
Verify Environment Variable Isolation
criticalCheck that no sensitive server-side keys are prefixed with VITE_ or NEXT_PUBLIC_, which would expose them to the client-side bundle.
Security and Monitoring
0/5Sanitize Rendered HTML
criticalUse DOMPurify when rendering strings through dangerouslySetInnerHTML to prevent Cross-Site Scripting (XSS) vulnerabilities.
Implement Content Security Policy (CSP)
recommendedConfigure CSP headers to restrict script execution to trusted domains and block unauthorized inline scripts.
Audit Dependency Vulnerabilities
criticalRun 'npm audit' or 'yarn audit' and resolve high-risk vulnerabilities in the node_modules tree.
Integrate Error Tracking
recommendedConnect a service like Sentry to capture unhandled exceptions and stack traces from production users for proactive debugging.
Remove Console Logs
optionalConfigure the build pipeline to strip console.log and console.debug statements from production builds to prevent information leakage.