The Modern React 18 Bootcamp - A Complete Developer Guide

Posted By: ELK1nG

The Modern React 18 Bootcamp - A Complete Developer Guide
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 9.78 GB | Duration: 20h 33m

Learn to built frontend React 18 applications using Redux Toolkit, TypeScript, Stripe and the Hooks

What you'll learn

Best practices for building a React 18 frontend application

Utilizing the Hooks & Redux Toolkit within a React project

Identifying when to use a state management solution

Handling user authentication and payments

Requirements

Basic JavaScript, HTML, and CSS is needed for this course

Description

In this course we will take you from a React 18 novice to a job ready engineer. This course is loaded with practical projects and examples so that you can truly understand and utilize React 18 in great depth!We will be building five projects, each one getting more and more complex. We will end this course by building an Netflix clone with features like payments and user authentication. By the end of this course, you should have multiple practical example to show off your knowledge!Here are a list of thing you will learn in this course:The difference between pure Vanilla JS and React 18How to utilize the all the different React hooksConditional rendering and mapping through a list of elementsFetching data from an external API and handling the success, loading and error statesHandling user authenticationBuilding a Postgres database to handle complex relationsUtilizing TypeScript for bug free codeAll the important ways to handle state (useState, useContext, useReducer, Redux Toolkit)Handling subscriptions payments with StripeScroll based pagination with the Observer Intersection APIOptimizing performance by preventing unnecessary re-renders I really hope you enjoy this course and learn a ton from it!

Overview

Section 1: Introduction

Lecture 1 A Little Setup

Section 2: Why We Care About React?

Lecture 2 What is React

Lecture 3 Building an App With Vanilla JS

Lecture 4 Discussing the Annoyances We Faced

Lecture 5 Building the Same App With ReactJS

Section 3: The Fundamentals of React

Lecture 6 Creating a React App

Lecture 7 Exploring the Files and Folders

Lecture 8 State and Event Handling

Section 4: Diving Deeper into React

Lecture 9 Project Intro

Lecture 10 Class vs ClassName

Lecture 11 Building the JSX Structure

Lecture 12 Listing Out Everything We Need to Work On

Lecture 13 Two Way Binding

Lecture 14 Defining an Array State

Lecture 15 Iterating Through the List to Render Elements

Lecture 16 The Key Prop

Lecture 17 Computing the Quantity

Lecture 18 Conditionally Render JSX Elements

Lecture 19 Deleting an Item

Lecture 20 Two Way Binding a List Item

Lecture 21 The useEffect Hook

Section 5: Built it Yourself

Lecture 22 Project Introduction

Lecture 23 Building the JSX Structure

Lecture 24 Two Way Binding

Lecture 25 A Cleaner and DRYer Way of Two Way Binding

Lecture 26 Input Validation and Conditional Styling

Lecture 27 Storing Store List and Map Through List to Render Elements

Lecture 28 Installing Dependencies

Lecture 29 Computing a New State

Section 6: Components for Maintainability and Reusability

Lecture 30 Project Introduction

Lecture 31 Building the JSX Structure for the Home Page

Lecture 32 Dividing Our JSX into Components

Lecture 33 Passing Props to Components

Section 7: Page Routing and Navigation

Lecture 34 Understanding Routing

Lecture 35 How React Renders Content to the Browser (CSR vs SSR)

Lecture 36 Installing react-router-dom

Lecture 37 Defining Our Routing Rules

Lecture 38 Adding Another Page to Our App

Lecture 39 Nested Routes for Common Elements

Lecture 40 Link Based Navigation

Lecture 41 Defining Dynamic Routes

Lecture 42 The useParams Hook for Extracting the Params

Lecture 43 The useNavigate Hook for Programmatic Navigation

Section 8: Fetching Data From an API

Lecture 44 Where Will the Data Come From

Lecture 45 Fetching Data From an API With Our React App

Lecture 46 Iterating Through the Fetched Data

Lecture 47 Encapsulating the Fetch Logic in a Custom Hook

Lecture 48 Handling a Loading State

Lecture 49 Handling an Error State

Lecture 50 Querying for Data by Keyword

Lecture 51 A Quick Fix

Lecture 52 Another Custom Hook

Lecture 53 Traversing and Rendering the Data

Lecture 54 The Children Prop

Lecture 55 Building the Recipe Info Component

Lecture 56 Potentials Issues With the State We Defined

Lecture 57 The useReducer Hook

Section 9: Advanced Navigation Topics

Lecture 58 Adding Query Params

Lecture 59 Handling Error State with an Error Message

Lecture 60 A 404 Error Page

Lecture 61 More Nested Pages

Lecture 62 Passing Data to an Outlet With useOutletContext

Lecture 63 Wrapping Things Up

Lecture 64 Deploying the Application

Lecture 65 Viewing Our Deployment

Section 10: Other React Hooks

Lecture 66 React Has Many Hooks

Lecture 67 The useRef Hook

Lecture 68 Building a Mini Project With useState

Lecture 69 Improving Performance With useRef

Lecture 70 Referencing Elements with useRef

Lecture 71 The useMemo Hook

Lecture 72 Memo and Props

Lecture 73 The useCallback Hook

Section 11: React with TypeScript

Lecture 74 An Intro to TypeScript

Lecture 75 Creating a TypeScript React App

Lecture 76 A Quick TypeScript Lesson

Lecture 77 Exploring the Starter Code

Lecture 78 State with TypeScript

Lecture 79 Props with TypeScript

Lecture 80 Params with TypeScript

Lecture 81 Installing Packages with TypeScript

Section 12: Tailwind Integration with React

Lecture 82 Major Project Introduction

Lecture 83 Creating a TypeScript React App

Lecture 84 Tailwind Integration

Lecture 85 Building the NavBar

Lecture 86 Building the Home Page

Lecture 87 Building the Login Page

Lecture 88 Building the Plans Page

Lecture 89 Building the Browse Page

Lecture 90 Building the Watch Page

Section 13: Building a RESTful API to Consume Data From

Lecture 91 Implementing Page Navigation

Lecture 92 How Will We Get the Data?

Lecture 93 Building an Express Server

Lecture 94 Create a Movies List GET Endpoint

Lecture 95 useReducer with TypeScript

Lecture 96 Fetching the Data From the Hook

Lecture 97 Consuming the Data in Our Browse Page

Lecture 98 Fixing the Card Styles

Lecture 99 Conditionally Adding a NavBar Background

Lecture 100 Navigating to the Watch Page

Lecture 101 Creating a Movie GET Endpoint

Lecture 102 Fetching and Rendering the Data From React

Section 14: Scroll Based Pagination

Lecture 103 Introduction to Pagination

Lecture 104 Types of Pagination

Lecture 105 Offsets and Limits

Lecture 106 Returning Paginated Data From the Server

Lecture 107 Intersection Obersever API to Detecting the Visibility of an Element

Lecture 108 Appending the Data Instead of Replacing

Lecture 109 Adding a Loading State

Lecture 110 Prevent Refetching When Client Has All the Data

Section 15: Storing Our Data in a Database

Lecture 111 Introduction to Database Solutions

Lecture 112 Spinning Up a Postgres Database

Lecture 113 Raw SQL vs ORM

Lecture 114 Defining Our Schema & Connecting to the DB

Lecture 115 Writing and Executing a Seed Script

Lecture 116 Refactoring Our Endpoints to Fetch Data With Prisma

Section 16: Authentication to Manage Users

Lecture 117 Introduction to Authentication

Lecture 118 Refactoring Common Endpoints to Separate Files

Lecture 119 Validating the User Inputs

Lecture 120 Validating That the User Doesn't Already Exist

Lecture 121 Three Different Ways to Store a Password

Lecture 122 Hashing and Saving the Password

Lecture 123 Saving the User

Lecture 124 Forming and Returning a JSON Web Token

Lecture 125 The Sign In Endpoint

Lecture 126 The Me Endpoint

Section 17: Handling Form States

Lecture 127 Back to the Client

Lecture 128 Fixing the Form Card

Lecture 129 The React Hook Form Library

Lecture 130 Setting Up the Form With the useForm Hook

Lecture 131 Managing State and Two Way Binding

Lecture 132 Validating the Form Input Values

Lecture 133 Handling Error States

Section 18: Global State With Redux Toolkit

Lecture 134 Bring Things Together

Lecture 135 Creating a useAuth Hook

Lecture 136 Making the HTTP Requests

Lecture 137 Handling Auth Errors

Lecture 138 Navigating to the Browse Page Upon Successful Authentication

Lecture 139 Storing the JWT in the Browser's Cookie

Lecture 140 Introduction to Redux Toolkit

Lecture 141 Defining Our Global State

Lecture 142 Persisting the Authentication State

Lecture 143 Defining Private Routes

Lecture 144 Adding the Logout Logic

Section 19: Processing Payment Subscriptions with Stripe

Lecture 145 Time to Make Some Money

Lecture 146 Adding Products to Stripe

Lecture 147 Connecting Our Server to Stripe

Lecture 148 Defining the Products Endpoint

Lecture 149 The usePlans Hook

Lecture 150 Rendering the Plans

Lecture 151 Defining a Session Endpoint

Lecture 152 Purchasing a Subscription From the Client

Lecture 153 Walking Through All User Flows

Lecture 154 Show the Plans Page Only if You Are Authenticated

Lecture 155 A Check Auth Middleware

Lecture 156 Creating a My Subscription Endpoint

Lecture 157 Redirect Users that Have Plans to the Manage Plans Page

Lecture 158 Manage Page Redirection

Lecture 159 Add Permission Logic to the Movie List Endpoint

Lecture 160 Redirect User to the Plan Page if They Don't Have a Subscription

Lecture 161 Premium Plan Permissions

Beginner Web Developers that want to dive in to React 18