Environment Setup for Mac 
  Environment Setup For Windows 
  Yihua's VSCode font and settings 
  Create React App - React-Scripts 1 
  Create React App - React-Scripts 2 
  Create React App - Everything Else 
  Quick note: React 18 Strict Mode 
  Monsters Rolodex - Class Components 
  Monsters Rolodex - Component State 
  Monsters Rolodex - setState 
  Monsters Rolodex - States and Shallow Merge 
  Monsters Rolodex - setState and Secondary Callback 
  Monsters Rolodex - Mapping Arrays to Elements 
  Optional: map() + key attribute 
  Monsters Rolodex - Keys for Mapping 
  Monsters Rolodex - Single Page Applications (SPAs) 
  Monsters Rolodex - Lifecycle Method: componentDidMount 
  Monsters Rolodex - Renders & Re-renders in React 
  Monsters Rolodex - Input Search Box Component 
  Monsters Rolodex - Searching & Filtering 
  Optional: filter() includes() 
  Monsters Rolodex - Storing Original Data 
  Monsters Rolodex - Optimizations 
  Monsters Rolodex - Understanding Components 
  Monsters Rolodex - CardList Component 
  Monsters Rolodex - Component Props 
  Monsters Rolodex - Rendering and Re-rendering part 2 
  Monsters Rolodex - SearchBox Component 
  Monsters Rolodex - CSS in React 
  Monsters Rolodex - CardList Component 
  Quick note on quotes for string interpolation 
  Monsters Rolodex - Finishing Touches 
  Functional vs Class Components 
  Class Component Lifecycle Methods Breakdown 
  Monsters Rolodex - Functional Component Intro 
  Monsters Rolodex - Hooks: useState 
  Monsters Rolodex - Functional Component Re-rendering 
  Monsters Rolodex - Infinite Re-rendering 
  Monsters Rolodex - Hooks: useEffect 
  Monsters Rolodex - Remaining Components 
  React v18: Migrating from React v17 + ReactDOM v18 Changes 
  React v18: Strict Mode Changes 
  React and ReactDOM part 2 
  Optional: Connecting With SSH To Github 
  Optional: How to fix 403: restricted_client error 
  Authenticating With Firebase 
  Introducing Firestore Data Models 
  Setting Up User Documents 
  Finish Creating User Documents 
  Sign Up With Email + Password 
  Generalizing Form Input Component 
  Finishing Authentication Page 
  Redux vs Context: Data Flow 
  React-Redux: Installation 
  React-Redux: Setting Up Our Store 
  React-Redux: Creating User Reducer 
  Business Logic in Our Selectors 
  What Triggers useSelector 
  Redux Triggers Extra Re-renders 
  Migrating Cart Context to Redux Pt. 1 
  Migrating Cart Context to Redux Pt. 2 
  Migrating Cart Context to Redux Pt. 3 
  Migrate Cart Context to Redux Pt. 4 
  Asynchronous Redux: Redux-Saga 
  Redux-Saga: fetchCategoriesAsync Thunk to Saga 
  Redux-Saga: Converting onAuthStateChanged Listener to Promise 
  Redux-Saga: Check User Session Saga Pt. 1 
  Redux-Saga: Check User Session Saga Pt. 2 
  Redux-Saga: Sign in Sagas 
  Redux-Saga: Sign up Sagas 
  Redux-Saga: Sign Out Sagas 
  The Need for Serverless Functions 
  Serverless Functions Explained 
  Setting Up Our PaymentForm 
  Writing Our First Serverless Function 
  Adding Auth With Netlify URL 
  Adding Environment Variables For Netlify 
  Crwn-Clothing Typescript Overview 
  Typing createAction & Function Overloading 
  Typing Category Action Creators 
  Typing Category Selectors 
  The Problem With Discriminating Unions 
  Intersections & Return Types 
  Improving Our Reducer Typing 
  Typing Redux Cart Files Pt. 1 
  Typing Redux Cart Files Pt. 2 
  Opt-In Service Worker in CRA 
  Resources: Progressive Web Apps 
  Progressive Web Apps Examples 
  Resources: PWA - Service Workers 
  Update for CRA v4.0.0+ and React 17+ 
  Global Styles and Media Queries 
  Updated Code For This Section 
  Quick Note: Upcoming API Endpoint + ES6 Modules 
  Resources: Jest Cheat Sheet 
  Exercise: #1 - Testing With Jest 
  Enzyme vs React Testing Library 
  Quick Note: Empty Snapshots 
  Snapshot Testing + Code Coverage 
  Testing Stateful Components 
  Testing Connected Components 
  Testing Connected Components 2 
  Aside - React Testing Library 
  Basics of RTL - Render and Screen 
  Render with Providers and Cart Icon Tests 
  Navigation Tests - Part 1 
  Navigation Tests - Part 2 
  Product Card and Testing Redux Actions 
  Navigation Tests - Part 3 
  Category Tests and React-Router-Dom Mocks 
  Category Sagas Tests - Part 1 
  Category Sagas Tests - Part 2