- Introduction of React
- What is ReactJS?
- Main features of React
- What does it mean to be declarative?
- Setup
- Requirements
- Create-react-app
- Vite
- Recommended extensions for VSCode
- Create-react-app(CRA) vs Vite
- Components
- My first component
- Reusable components
- JSX
- Props
- What are props
- Props default value
- Props as children
- Class Based Components (legacy)
- Class based vs Functional components
- Hooks
- What is a Hook
- Hook Rule
- State
- useState Hook
- What does the useState call do?
- What do we pass to useState as an argument?
- When to use it?
- Import useState
- Initialize useState
- Read State
- Update State
- What Can State Hold
- Updating Objects and Arrays in State
- Effects
- useEffect Hook
- What are side effects
- When to use it
- Dependencies
- The useEffect Cleanup function
- Rendering Techniques
- Conditional rendering
- Rendering lists
- Rendering data from arrays
- Filtering data
- Key prop
- Styling React components
- Inline style
- CSS stylesheet
- CSS modules
- Dynamic styles
- Events
- Listening to event handlers
- Forms in React
- React Context API
- createContext
- useContext Hook
- Context provider
- Global State Management
- Other React built-in hooks
- useRef
- useReducer
- Performance Hooks
- useMemo
- useCallback
- React Custom Hooks
- What are they
- How to create them
- How to use them
- React Router Library
- Installing React Router
- Defining routes
- Navigate between routes
- Error pages
- Dynamic routes
- Protected routes
- Debugging React apps
- React DevTools
- Testing React apps
- Different kinds of tests
- Tools
- Writing our first test
- Testing Asynchronous Code
- Working with mocks
- Deploying React apps
- Steps
- Test and optimize your code.
- Lazy loading
- Build the Application
- Deploy
- Test and optimize your code.
- Steps