-
React Fundamentals
- JSX
- Components
- Props
- Children
- Rendering
- Conditional rendering
- Lists and keys
- Event handling
- Component composition
- Fragments
- Basic project structure
- Vite
- React DevTools
-
State and Interactivity
- useState
- State updates
- Functional state updates
- State and component re-rendering
- Controlled components
- Forms
- Form validation
- Lifting state up
- Derived state
- State vs props
- Component communication
-
React Hooks
- useEffect
- Effect dependencies
- Cleanup functions
- useRef
- useMemo
- useCallback
- useReducer
- Custom hooks
- Rules of Hooks
- Common hook mistakes
- Avoiding unnecessary effects
-
Working with APIs
- HTTP fundamentals
- fetch
- REST APIs
- GET / POST / PUT / PATCH / DELETE
- Loading states
- Error handling
- Async operations
- Request cancellation
- Environment variables
- API service layer
- CRUD applications
-
Routing
- React Router
- Routes
- Nested routes
- Dynamic routes
- Route parameters
- Query parameters
- Navigation
- Link and NavLink
- Programmatic navigation
- 404 pages
- Protected routes
- Route layouts
- Authentication flows
-
Forms and User Input
- Controlled inputs
- Uncontrolled inputs
- Form state
- Validation
- Reusable form components
- File uploads
- Multi-step forms
- Form libraries
- Schema validation
-
Global State Management
- Context API
- useContext
- When to use Context
- Global UI state
- Authentication state
- State management patterns
- Redux
- Redux Toolkit
- Async Redux logic
- Zustand
- Choosing a state management solution
-
Server State and Data Fetching
- Server state vs client state
- TanStack Query
- Queries
- Mutations
- Caching
- Query invalidation
- Optimistic updates
- Pagination
- Infinite queries
- Prefetching
- Request retries
- Error handling
- Loading and stale states
-
Authentication
- Authentication concepts
- Sessions
- JWT
- Access tokens
- Refresh tokens
- Cookies
- Login
- Registration
- Logout
- Protected routes
- Role-based access
- Permissions
- OAuth
- Google authentication
- Frontend security basics
-
Styling and UI
- CSS fundamentals
- CSS Modules
- Tailwind CSS
- Responsive design
- Component styling
- Design systems
- Reusable UI components
- Accessibility
- Dark mode
- Animations
- Headless UI libraries
-
TypeScript with React
- TypeScript fundamentals
- Typing props
- Typing state
- Typing events
- Typing refs
- Typing children
- Interfaces and types
- Generics
- Utility types
- API response types
- Reusable generic components
- Type-safe custom hooks
- Type-safe forms
-
Advanced Component Patterns
- Component composition
- Compound components
- Render props
- Higher-order components
- Custom hooks
- Controlled vs uncontrolled components
- State machines
- Headless components
- Reusable component APIs
- Polymorphic components
-
Performance
- React rendering model
- Reconciliation
- Component re-rendering
- React.memo
- useMemo
- useCallback
- Code splitting
- Lazy loading
- Suspense
- Virtualized lists
- Bundle optimization
- Network optimization
- Performance profiling
- React DevTools Profiler
- Core Web Vitals
-
Advanced React
- Concurrent rendering
- Suspense
- Error boundaries
- Server Components
- Server-side rendering
- Static rendering
- Streaming
- Hydration
- React Compiler
- Advanced rendering patterns
-
React Frameworks
- Next.js
- App Router
- Server Components
- Server Actions
- Layouts
- Loading UI
- Error handling
- Metadata
- Image optimization
- Caching
- SSR
- SSG
- ISR
- Middleware
- API routes
- Full-stack React applications
-
Testing
- Unit testing
- Component testing
- Vitest
- React Testing Library
- Mocking APIs
- Integration testing
- End-to-end testing
- Playwright
- Testing forms
- Testing authentication
- Testing user flows
-
Architecture
- Feature-based architecture
- Component architecture
- Container vs presentational components
- Shared components
- Design systems
- Service layers
- API clients
- State architecture
- Custom hooks architecture
- Domain-driven frontend structure
- Dependency management
- Reusable modules
- Scalable folder structures
-
Production React
- Environment configuration
- Build process
- Deployment
- Vercel
- Docker
- CI/CD
- GitHub Actions
- Environment variables
- Logging
- Error monitoring
- Performance monitoring
- Analytics
- Security
- Production debugging
-
Advanced Frontend Engineering
- Frontend architecture
- Micro-frontends
- Monorepos
- Module boundaries
- Design systems
- Advanced caching
- Offline applications
- PWA
- WebSockets
- Real-time applications
- Web workers
- Web performance
- Accessibility engineering
- Internationalization
- Localization
-
Professional React Development
- Code reviews
- Git workflows
- Clean code
- Refactoring
- Technical debt
- Documentation
- Component documentation
- Storybook
- Design-to-code workflows
- API contracts
- Frontend/backend collaboration
- Security practices
- Performance budgets
- Production incident debugging
-
Real-World Projects
- Todo application
- Weather application
- Movie browser
- E-commerce frontend
- Dashboard
- Authentication system
- Admin panel
- Real-time chat
- Social media application
- Full-stack SaaS
- Production-grade React application