Topics
Architecture
Scalable React apps require intentional decisions about component design, folder structure, state management, data-fetching boundaries, and modular patterns. This guide covers the architectural principles that distinguish…
Context
Master React Context API for efficient state sharing and avoiding prop drilling.
Core Concepts
Grounded in modern React with function components, hooks, and data-fetching patterns. Start after solid JS/TS fundamentals.
Design Patterns
Patterns in React are mostly about composition (building features by combining small components) rather than inheritance.
Fundamentals
React fundamentals: components are functions that return JSX, props flow down, state is component-owned and updated via setters, and effects handle data fetching and subscriptions. Master controlled inputs, stable list keys, and lifting…
Hooks
Master React Hooks from basics to advanced patterns for senior-level interviews.
Performance
React performance is mostly about not re-rendering or re-shipping work you didn't have to: React.memo to skip unchanged subtrees, useMemo/useCallback to keep prop references stable, lazy + Suspense to code-split heavy routes, and…
React 19
React 19 brings major improvements focusing on:
React Code Standards
A team's React/TypeScript coding standard covering naming conventions, function and file size limits, component structure order, forms and tables patterns, Redux and TanStack Query usage, error handling, and Playwright testing. It…
Routing
React Router turns the URL into application state: BrowserRouter wraps the app, Routes/Route declare which component renders at each path, and useParams/useNavigate read params and trigger navigation imperatively. Nail dynamic segments…
State Management
Comprehensive guide to state management patterns in React applications.
Testing
React Testing Library tests components the way a user interacts with them: query by role and label, simulate input with userEvent, and assert on rendered output rather than internal state. Pair it with findBy* and MSW-style request…