Introduction to the course
1
We're glad you're here
2
What is React.js
3
Why React Instead Of Just JavaScript
4
Building Single-Page Applications (SPAs) with React
5
Exploring React.js Alternatives (Angular Vue)
6
About This Course & Course Outline
7
The Two Ways (Paths) Of Taking This Course
8
How to Get the Most from This Course
9
Setting Up The Course Dev Environment (Code Editor)
Refresher on JavaScript
1
Module Introduction
2
Understanding let and const
3
Arrow Functions
4
Exports and Imports
5
Understanding Classes
6
Classes, Properties and Methods
7
The Spread & Rest Operator
8
Destructuring
9
Reference and Primitive Types Refresher
10
Refreshing Array Functions
11
Wrap Up
Basics of React & Using Components
1
Module Introduction
2
What Are Components And Why Is React All About Them
3
React Code Is Written In A Declarative Way
4
Creating a new React Project
5
Analyzing a Standard React Project
6
Introducing JSX
7
How React Works
8
Building a First Custom Component
9
Writing More Complex JSX Code
10
Adding Basic CSS Styling
11
Outputting Dynamic Data & Working with Expressions in JSX
12
Passing Data via props
13
Adding normal JavaScript Logic to Components
14
Splitting Components Into Multiple Component
15
The Concept of Composition children props
16
A First Summary
17
A Closer Look At JSX
18
Organizing Component Files
19
An Alternative Function Syntax
Working with Events & Reacting to State
1
Module Introduction
2
Listening to Events & Working with Event Handlers
3
How Component Functions Are Executed
4
Working with State
5
A Closer Look at the useState Hook
6
Adding Form Inputs
7
Listening to User Input
8
Working with Multiple States
9
Using One State Instead (And What's Better)
10
Updating State That Depends On The Previous State
11
Handling Form Submission
12
Adding Two-Way Binding
13
Child-to-Parent Component Communication (Bottom-up)
14
Lifting The State Up
15
Controlled vs Uncontrolled Components & Stateless vs Stateful Components
Conditional content and rendering lists
1
Module Introduction
2
Rendering Lists of Data
3
Using Stateful Lists
4
Understanding Keys
5
Outputting Conditional Content
6
Adding Conditional Return Statements
7
Demo App Adding a Chart
8
Adding Dynamic Styles
9
Wrap Up & Next Steps
Styling React Components
1
Module Introduction
2
Setting Dynamic Inline Styles
3
Setting CSS Classes Dynamically
4
Introducing Styled Components
5
Styled Components & Dynamic Props
6
Styled Components & Media Queries
7
Using CSS Modules
8
Dynamic Styles with CSS Modules
How to Debug React Apps
1
Module Introduction
2
Understanding React Error Messages
3
Analyzing Code Flow & Warnings
4
Working with Breakpoints
5
Using the React DevTools
A complete practise project is now available
1
Module Introduction
2
Adding a User Component.
3
Adding a re-usable Card Component
4
Adding a re-usable Button Component
5
Managing the User Input State
6
Adding Validation & Resetting Logic
7
Adding a Users List Component
8
Managing a List Of Users via State
9
Adding The ErrorModal Component
10
Managing the Error State
Working with Fragments Portals and Refs Diving Deeper
1
Module Introduction
2
JSX Limitations & Workarounds
3
Creating a Wrapper Component
4
React Fragments
5
Introducing React Portals
6
Working with Portals
7
Working with refs
8
Controlled vs Uncontrolled Components
Advanced Using Reducers Handling Side Effects and the Context AP
1
Module Introduction
2
What are Side Effects & Introducing useEffect
3
Using the useEffect Hook
4
useEffect & Dependencies
5
Using the useEffect Cleanup Function
6
useEffect Summary
7
introducing useReducer & Reducers In General
8
Using the useReducer Hook
9
useReducer & useEffect
10
useReducer vs useState for State Management
11
introducing React Context (Context API)
12
Using the React Context API
13
Tapping Into Context with the useContext Hook
14
Making Context Dynamic
15
Building & Using a Custom Context Provider Component
16
React Context Limitations
17
Learning the Rules of Hooks
18
Refactoring an Input Component
19
Diving into Forward Refs
Building a Food Ordering App for a Practice Project
1
Module Introduction
2
Starting Setup
3
Adding a Header Component
4
Adding the Cart Button Component
5
Adding a Meals Component
6
Adding Individual Meal Items & Displaying Them
7
Adding a Form
8
Working on the Shopping Cart Component
9
Adding a Modal via a React Portal
10
Managing Cart & Modal State
11
Adding a Cart Context
12
Using the Context
13
Adding a Cart Reducer
14
Working with Refs & Forward Refs
15
Outputting Cart Items
16
Working on a More Complex Reducer Logic
17
Making Items Removable
18
Using the useEffect Hook
A Look at React's Backend & Optimization Methods
1
Module Introduction
2
How React Really Works
3
Component Updates In Action
4
A Closer Look At Child Component Re-Evaluation
5
Preventing Unnecessary Re-Evaluations with React memo
6
Preventing Function Re-Creation with useCallback
7
useCallback and its Dependencies
8
A First Summary
9
A Closer Look At State & Components
10
Understanding State Scheduling & Batching
11
Optimizing with useMemo
Classbased components are an alternative method of building components
1
Module Introduction
2
What & Why
3
Adding a First Class-based Component
4
Working with State & Events
5
The Component Lifecycle Class-based Components Only
6
Lifecycle Methods In Action
7
Class-based Components & Context
8
Classbased vs Functional Components A Summary
9
Introducing Error Boundaries
Http Request Sending e.g. Connecting to a Database
1
Module Introduction
2
How To Not Connect To A Database
3
Our Starting App & Backend
4
Sending a GET Request
5
Using async await
6
Handling Loading & Data States
7
Handling Http Errors
8
Using useEffect For Requests
9
Preparing The Project For The Next Steps
10
Sending a POST Request
11
Wrap Up
Making Personalized React Hooks
1
Module Introduction
2
What are Custom Hooks
3
Creating a Custom React Hook Function
4
Using Custom Hooks
5
Configuring Custom Hooks
6
Onwards To A More Realistic Example
7
Building a Custom Http Hook
8
Using the Custom Http Hook
9
Adjusting the Custom Hook Logic
10
Using The Custom Hook In More Components
Using Forms and User Input
1
Module Introduction
2
Our Starting Setup
3
What's So Complex About Forms
4
Dealing With Form Submission & Getting User Input Values
5
Adding Basic Validation
6
Providing Validation Feedback
7
Handling the was touched State
8
React To Lost Focus
9
Refactoring & Deriving States
10
Managing The Overall Form Validity
11
Adding A Custom Input Hook
12
Re-Using The Custom Hook
13
A Challenge For You
14
Applying Our Hook & Knowledge To A New Form
15
Summary
16
Bonus Using useReducer
Project for Practice Adding Forms & Http To The Food Order App
1
Module Introduction
2
Moving Meals Data To The Backend
3
Fetching Meals via Http
4
Handling the Loading State
5
Handling Errors
6
Adding A Checkout Form
7
Reading Form Values
8
Adding Form Validation
9
Submitting
10
Adding Better User Feedback
11
Summary
Exploring Redux A Context API Alternative
1
Module Introduction
2
Another Look At State In React Apps
3
Redux vs React Context
4
How Redux Works
5
Exploring The Core Redux Concepts
6
More Redux Basics
7
Preparing a new Project
8
Creating a Redux Store for React
9
Providing the Store
10
Using Redux Data in React Components
11
Dispatching Actions From Inside Components
12
Redux with Class-based Components
13
Attaching Payloads to Actions
14
Working with Multiple State Properties
15
How To Work With Redux State Correctly
16
Redux Challenges & Introducing Redux Toolkit
17
Adding State Slices
18
Connecting Redux Toolkit State
19
Migrating Everything To Redux Toolkit
20
Working with Multiple Slices
21
Reading & Dispatching From A New Slice
22
Splitting Our Code
23
Summary
Modern Redux
1
Module Introduction
2
Redux & Side Effects and Asynchronous Code
3
Refresher Practice Part 1
4
Refresher Practice Part 2
5
Redux & Async Code
6
Frontend Code vs Backend Code
7
Where To Put Our Logic
8
Using useEffect with Redux
9
Handling Http States & Feedback with Redux
10
Using an Action Creator Thunk
11
Getting Started with Fetching Data
12
Finalizing the Fetching Logic
13
Exploring the Redux DevTools
14
Summary