Welcome to the React Notes repository! This repository contains comprehensive notes on React, covering topics that are useful for both beginners and experienced developers. The notes are organized by sections for easy navigation, from the basics of React to advanced concepts like Redux.
-
- Overview of React
- React Ecosystem
- Why use React?
-
- Importing and Exporting Components
- ES6 Module System
- Default vs Named Exports
-
- Conditional Logic in JSX
- Ternary Operators and Short-circuit Evaluation
- Rendering Different Components Based on State
-
- Passing Data with Props
- Managing State in Components
- Props vs. State
-
- Event Handling in React
- Synthetic Events
- Event Binding and Performance Optimization
-
- Introduction to React Hooks
useState
anduseEffect
- Custom Hooks
- Advanced Hooks (
useReducer
,useMemo
,useCallback
)
-
- Setting Up React Router
- Navigation and Links
- Route Parameters and Query Strings
- Nested Routing
-
- Controlled vs Uncontrolled Components
- Handling User Input
- Form Validation
-
- Context API Overview
- Using
React.createContext()
- Passing Data Without Prop Drilling
-
- Introduction to Redux
- Redux Flow (Actions, Reducers, Store)
- Using Redux with React
- Middleware in Redux (Redux Thunk, Redux Saga)
-
- Overview of Redux Toolkit
- Slice Reducers and Actions
- Async Thunks
- Best Practices with Redux Toolkit
-
React Performance Optimization
- React Memoization (
React.memo
,useMemo
,useCallback
) - Code Splitting and Lazy Loading
- Optimizing Re-renders and State Management
- React Memoization (
-
- Unit Testing with Jest
- Testing React Components with React Testing Library
- Mocking API Requests