Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Inside React: Learn How React Really Works
Section 0: Introduction
Introduction (1:44)
Exercise: Meet Your Classmates and Instructor
Understanding Your Video Player
Set Your Learning Streak Goal
Course Resources
Section 1: Inside React
Setup: Getting Ready to Learn (1:53)
A Basic React App (2:07)
The React Source Code (2:05)
Section 2: The Document Object Model (DOM) and Declarative Programming
Introduction (0:20)
HTML and Trees (2:00)
HTML, the Browser, and the DOM (4:02)
DOM Manipulation (6:31)
Conceptual Aside: Imperative vs Declarative Programming (3:00)
The DOM and Imperative Programming (3:11)
The DOM and Declarative Programming (3:56)
Let's Have Some Fun (+ More Resources)
Section 3: React Elements
Introducing React Elements (0:27)
Conceptual Aside: Recursion (4:17)
Conceptual Aside: POJOS (Plain Old Javascript Objects) (12:52)
Creating React Elements (11:36)
React Element Trees (5:23)
Conceptual Aside: DOM Element References (1:31)
React Elements and DOM Elements (6:03)
React DOM Updates: React's Imperative Code (12:10)
Components (6:01)
Components and Reusability (11:05)
Conceptual Aside: Pure Functions (5:18)
Props: Function Arguments (12:24)
Template Logic: Logic and Building Trees (14:11)
Element Properties (7:17)
Unlimited Updates
Section 4: JSX (Java Script XML) - React
Introducing JSX (0:21)
Conceptual Aside: Markup and Tree Creation Shorthand (1:56)
Conceptual Aside: Transformation and Transpilation (1:48)
React Elements and JSX (19:40)
JSX and Logic (12:00)
Conceptual Aside: HTML Authoring (2:47)
Fragment and HTML Authoring (10:03)
Implement a New Life System
Section 5: Fiber and Reconciliation
Introducing Fiber and Reconciliation (0:43)
Root Creation and Render (8:57)
Conceptual Aside: Trees and Linked Lists (4:23)
Fiber Nodes and Fiber Trees (6:57)
Conceptual Aside: Tree Reconciliation and the Tree Edit Distance Problem (3:44)
Work-in-Progress Nodes (9:27)
Reconciliation and Work (5:48)
Course Check-In
Section 6: Execution Context
Introducing Execution Context (0:21)
Conceptual Aside: Execution Contexts and the Event Loop (3:32)
Fiber and Custom Execution Context (4:14)
Units of Work and the Work Loop (3:00)
Conceptual Aside: Equality (3:34)
Beginning, Completing, Bailing Out, and Pausing Work (7:01)
Lanes and Priority (2:35)
Section 7: React DOM and Rendering
Introducing React DOM and Rendering (0:13)
Commiting Work and the Renderer (2:55)
Mounting, Updating, and Unmounting (4:48)
Section 8: Events
Introducing Events (0:23)
DOM Events (11:36)
React Event Objects (7:52)
Synthetic Event Properties and Methods (5:43)
Exercise: Imposter Syndrome (2:55)
Section 9: State in Programming
Introducing State (0:16)
Conceptual Aside: State Machines (6:35)
Conceptual Aside: Pure Functions (2:41)
User Interface (UI): a Function of State (2:46)
Conceptual Aside: Reducers (6:31)
Actions and State (8:54)
Section 10: Hooks and State
Introducing Hooks and State (0:24)
Fiber, Hooks, and State (4:03)
Conceptual Aside: Queues (3:54)
Update Queues (2:46)
State and Re-Renders (2:38)
useReducer - Part 1 (7:48)
useReducer - Part 2 (6:04)
useState - Part 1 (4:16)
useState - Part 2 (10:47)
Rules of Hooks (7:43)
useState - Part 3 (10:36)
Conceptual Aside: Shallow Equality and Object.is (8:10)
Immutable State (7:46)
Section 11: Adding Your Own Side Effects: useEffect
Introduction (0:15)
Conceptual Aside: Pure Functions and Side Effects (1:30)
Adding Your Own Effects: useEffect (11:46)
Dependencies (8:06)
A Game of Ping Pong (2:34)
Unmounting and Effects (9:54)
Fetching Data ...or Not (10:26)
Conceptual Aside: Stale Closures (4:08)
useEffect and Stale Closures (9:51)
What Not To Do (10:25)
Use (0:25)
Fetching Data - Part 1 (8:57)
Fetching Data - Part 2 (7:25)
Section 12: useRef and forwardRef
Introduction (0:23)
useRef (4:26)
useRef and the DOM (5:15)
forwardRef (4:15)
Ref as a Prop (2:23)
Section 13: Custom Hooks
Introduction (0:24)
Extracting Custom Hooks (12:30)
Section 14: Component Design
Introduction (0:21)
Real World Complexity and Loops (18:12)
Lifting State Up (28:51)
&&, 0 and Ternary Operators (12:27)
.children (6:01)
Section 15: Context and useContext Hooks
useContext (0:50)
Prop Drilling (4:27)
Context (39:22)
Context with Caution (2:18)
Use and Context (5:10)
Section 16: useID and Key
Introduction (0:30)
useID (8:48)
Key (15:28)
Section 17: Memo, useMemo, and useCallback
Introduction (0:18)
Conceptual Aside: Memoization (7:31)
Memo (16:00)
useMemo (20:15)
useCallback (10:32)
React Forget (1:37)
Section 18: useContext and Reducer
Introduction (0:21)
useContext + useReducer (27:22)
Third Party State Management (6:14)
Use, Reducer, and Context (1:30)
Section 19: Toolchains
Intoduction (0:49)
Conceptual Aside: Toolchain (3:49)
Conceptual Aside: ES Modules (6:01)
Create-React-App (1:52)
Vite (18:45)
Frameworks (3:50)
Section 20: Strict Mode
Introduction (0:32)
Adding Strict Mode (3:33)
Extra Re-Render (10:27)
Extra Effect Re-Run (9:13)
Section 21: Forms
Introduction (0:17)
Reorganizing Our App (15:04)
Uncontrolled Inputs (5:28)
Controlled Inputs (13:43)
Form (7:59)
Textarea, Select, and More (11:16)
Third Party Form Help (1:57)
Future Form Futures (2:12)
Section 22: React Developer Tools
Introduction (0:16)
Using Dev Tools (3:21)
useDebugValue (1:46)
Section 23: CSS and Components
Introduction (0:23)
CSS and React (3:15)
Toolchains and CSS (4:10)
CSS Modules and More (4:11)
Section 24: Class Project - Spelling Bee
Introduction (0:23)
Spelling Bee (1:58)
XTML Authoring (3:21)
Getting the Data (5:54)
Header (8:40)
Honeycomb (14:33)
Shuffle (9:29)
Words and Letters (12:09)
Word List (14:49)
Final Thoughts (6:06)
Score (6:08)
Highlighted Letter (3:29)
Section 25: Meta-Frameworks
Introduction (0:20)
Next.js (3:41)
Remix (2:25)
Section 26: Suspense
Introduction (0:30)
What is Suspense? (3:44)
Suspense and Remix (10:10)
Section 27: React Server Components (RSC)
Introduction (0:52)
Server Components (11:53)
Client Components (5:28)
RSC Payload (7:57)
Composing Server and Client components (7:29)
Section 28: Conclusion
Congratulations! (1:36)
Section 29: Where To Go From Here?
Thank You! (1:17)
Review This Course!
Become An Alumni
Learning Guideline
ZTM Events Every Month
LinkedIn Endorsements
Beginning, Completing, Bailing Out, and Pausing Work
This lecture is available exclusively for ZTM Academy members.
If you're already a member,
you'll need to login
.
Join ZTM To Unlock All Lectures