-
Урок 1.
00:02:56
A Little Setup
-
Урок 2.
00:04:55
What is React
-
Урок 3.
00:14:16
Building an App With Vanilla JS
-
Урок 4.
00:02:19
Discussing the Annoyances We Faced
-
Урок 5.
00:18:29
Building the Same App With ReactJS
-
Урок 6.
00:12:32
Creating a React App
-
Урок 7.
00:09:52
Exploring the Files and Folders
-
Урок 8.
00:08:51
State and Event Handling
-
Урок 9.
00:02:59
Project Intro
-
Урок 10.
00:07:40
Class vs ClassName
-
Урок 11.
00:07:53
Building the JSX Structure
-
Урок 12.
00:02:42
Listing Out Everything We Need to Work On
-
Урок 13.
00:10:26
Two Way Binding
-
Урок 14.
00:11:52
Defining an Array State
-
Урок 15.
00:05:26
Iterating Through the List to Render Elements
-
Урок 16.
00:04:22
The Key Prop
-
Урок 17.
00:05:14
Computing the Quantity
-
Урок 18.
00:04:09
Conditionally Render JSX Elements
-
Урок 19.
00:06:24
Deleting an Item
-
Урок 20.
00:07:38
Two Way Binding a List Item
-
Урок 21.
00:10:10
The useEffect Hook
-
Урок 22.
00:07:28
Project Introduction
-
Урок 23.
00:10:07
Building the JSX Structure
-
Урок 24.
00:08:24
Two Way Binding
-
Урок 25.
00:07:13
A Cleaner and DRYer Way of Two Way Binding
-
Урок 26.
00:08:21
Input Validation and Conditional Styling
-
Урок 27.
00:12:38
Storing Store List and Map Through List to Render Elements
-
Урок 28.
00:07:14
Installing Dependencies
-
Урок 29.
00:07:29
Computing a New State
-
Урок 30.
00:06:58
Project Introduction
-
Урок 31.
00:12:55
Building the JSX Structure for the Home Page
-
Урок 32.
00:10:32
Dividing Our JSX into Components
-
Урок 33.
00:10:51
Passing Props to Components
-
Урок 34.
00:09:46
Understanding Routing
-
Урок 35.
00:12:07
How React Renders Content to the Browser (CSR vs SSR)
-
Урок 36.
00:05:05
Installing react-router-dom
-
Урок 37.
00:05:38
Defining Our Routing Rules
-
Урок 38.
00:03:23
Adding Another Page to Our App
-
Урок 39.
00:08:27
Nested Routes for Common Elements
-
Урок 40.
00:07:14
Link Based Navigation
-
Урок 41.
00:05:32
Defining Dynamic Routes
-
Урок 42.
00:08:00
The useParams Hook for Extracting the Params
-
Урок 43.
00:05:56
The useNavigate Hook for Programmatic Navigation
-
Урок 44.
00:07:01
Where Will the Data Come From
-
Урок 45.
00:06:22
Fetching Data From an API With Our React App
-
Урок 46.
00:08:08
Iterating Through the Fetched Data
-
Урок 47.
00:05:33
Encapsulating the Fetch Logic in a Custom Hook
-
Урок 48.
00:07:07
Handling a Loading State
-
Урок 49.
00:04:22
Handling an Error State
-
Урок 50.
00:12:01
Querying for Data by Keyword
-
Урок 51.
00:02:34
A Quick Fix
-
Урок 52.
00:07:41
Another Custom Hook
-
Урок 53.
00:13:26
Traversing and Rendering the Data
-
Урок 54.
00:06:42
The Children Prop
-
Урок 55.
00:08:12
Building the Recipe Info Component
-
Урок 56.
00:03:34
Potentials Issues With the State We Defined
-
Урок 57.
00:14:19
The useReducer Hook
-
Урок 58.
00:09:47
Adding Query Params
-
Урок 59.
00:06:16
Handling Error State with an Error Message
-
Урок 60.
00:05:24
A 404 Error Page
-
Урок 61.
00:06:28
More Nested Pages
-
Урок 62.
00:07:03
Passing Data to an Outlet With useOutletContext
-
Урок 63.
00:03:55
Wrapping Things Up
-
Урок 64.
00:07:07
Deploying the Application
-
Урок 65.
00:01:30
Viewing Our Deployment
-
Урок 66.
00:03:23
React Has Many Hooks
-
Урок 67.
00:01:45
The useRef Hook
-
Урок 68.
00:09:45
Building a Mini Project With useState
-
Урок 69.
00:07:55
Improving Performance With useRef
-
Урок 70.
00:08:42
Referencing Elements with useRef
-
Урок 71.
00:13:14
The useMemo Hook
-
Урок 72.
00:07:43
Memo and Props
-
Урок 73.
00:15:01
The useCallback Hook
-
Урок 74.
00:03:48
An Intro to TypeScript
-
Урок 75.
00:04:32
Creating a TypeScript React App
-
Урок 76.
00:16:09
A Quick TypeScript Lesson
-
Урок 77.
00:05:23
Exploring the Starter Code
-
Урок 78.
00:07:03
State with TypeScript
-
Урок 79.
00:07:34
Props with TypeScript
-
Урок 80.
00:15:41
Params with TypeScript
-
Урок 81.
00:02:51
Installing Packages with TypeScript
-
Урок 82.
00:08:45
Major Project Introduction
-
Урок 83.
00:02:31
Creating a TypeScript React App
-
Урок 84.
00:08:08
Tailwind Integration
-
Урок 85.
00:12:00
Building the NavBar
-
Урок 86.
00:11:45
Building the Home Page
-
Урок 87.
00:09:39
Building the Login Page
-
Урок 88.
00:14:57
Building the Plans Page
-
Урок 89.
00:24:23
Building the Browse Page
-
Урок 90.
00:07:50
Building the Watch Page
-
Урок 91.
00:09:16
Implementing Page Navigation
-
Урок 92.
00:06:46
How Will We Get the Data?
-
Урок 93.
00:09:21
Building an Express Server
-
Урок 94.
00:03:21
Create a Movies List GET Endpoint
-
Урок 95.
00:15:47
useReducer with TypeScript
-
Урок 96.
00:08:51
Fetching the Data From the Hook
-
Урок 97.
00:06:27
Consuming the Data in Our Browse Page
-
Урок 98.
00:01:09
Fixing the Card Styles
-
Урок 99.
00:04:21
Conditionally Adding a NavBar Background
-
Урок 100.
00:02:41
Navigating to the Watch Page
-
Урок 101.
00:02:57
Creating a Movie GET Endpoint
-
Урок 102.
00:08:53
Fetching and Rendering the Data From React
-
Урок 103.
00:03:49
Introduction to Pagination
-
Урок 104.
00:05:17
Types of Pagination
-
Урок 105.
00:04:35
Offsets and Limits
-
Урок 106.
00:03:05
Returning Paginated Data From the Server
-
Урок 107.
00:13:13
Intersection Obersever API to Detecting the Visibility of an Element
-
Урок 108.
00:06:14
Appending the Data Instead of Replacing
-
Урок 109.
00:07:28
Adding a Loading State
-
Урок 110.
00:08:14
Prevent Refetching When Client Has All the Data
-
Урок 111.
00:05:54
Introduction to Database Solutions
-
Урок 112.
00:04:37
Spinning Up a Postgres Database
-
Урок 113.
00:06:12
Raw SQL vs ORM
-
Урок 114.
00:11:18
Defining Our Schema & Connecting to the DB
-
Урок 115.
00:10:16
Writing and Executing a Seed Script
-
Урок 116.
00:09:12
Refactoring Our Endpoints to Fetch Data With Prisma
-
Урок 117.
00:04:52
Introduction to Authentication
-
Урок 118.
00:07:32
Refactoring Common Endpoints to Separate Files
-
Урок 119.
00:14:46
Validating the User Inputs
-
Урок 120.
00:04:13
Validating That the User Doesn't Already Exist
-
Урок 121.
00:06:21
Three Different Ways to Store a Password
-
Урок 122.
00:05:39
Hashing and Saving the Password
-
Урок 123.
00:02:34
Saving the User
-
Урок 124.
00:08:32
Forming and Returning a JSON Web Token
-
Урок 125.
00:09:39
The Sign In Endpoint
-
Урок 126.
00:09:04
The Me Endpoint
-
Урок 127.
00:01:33
Back to the Client
-
Урок 128.
00:06:43
Fixing the Form Card
-
Урок 129.
00:02:13
The React Hook Form Library
-
Урок 130.
00:07:06
Setting Up the Form With the useForm Hook
-
Урок 131.
00:08:14
Managing State and Two Way Binding
-
Урок 132.
00:09:24
Validating the Form Input Values
-
Урок 133.
00:06:14
Handling Error States
-
Урок 134.
00:02:32
Bring Things Together
-
Урок 135.
00:06:08
Creating a useAuth Hook
-
Урок 136.
00:07:06
Making the HTTP Requests
-
Урок 137.
00:08:55
Handling Auth Errors
-
Урок 138.
00:03:36
Navigating to the Browse Page Upon Successful Authentication
-
Урок 139.
00:05:42
Storing the JWT in the Browser's Cookie
-
Урок 140.
00:12:38
Introduction to Redux Toolkit
-
Урок 141.
00:06:24
Defining Our Global State
-
Урок 142.
00:10:48
Persisting the Authentication State
-
Урок 143.
00:07:14
Defining Private Routes
-
Урок 144.
00:04:44
Adding the Logout Logic
-
Урок 145.
00:02:53
Time to Make Some Money
-
Урок 146.
00:02:56
Adding Products to Stripe
-
Урок 147.
00:08:08
Connecting Our Server to Stripe
-
Урок 148.
00:05:04
Defining the Products Endpoint
-
Урок 149.
00:12:38
The usePlans Hook
-
Урок 150.
00:12:22
Rendering the Plans
-
Урок 151.
00:11:34
Defining a Session Endpoint
-
Урок 152.
00:12:34
Purchasing a Subscription From the Client
-
Урок 153.
00:04:37
Walking Through All User Flows
-
Урок 154.
00:01:36
Show the Plans Page Only if You Are Authenticated
-
Урок 155.
00:11:49
A Check Auth Middleware
-
Урок 156.
00:08:26
Creating a My Subscription Endpoint
-
Урок 157.
00:14:16
Redirect Users that Have Plans to the Manage Plans Page
-
Урок 158.
00:04:47
Manage Page Redirection
-
Урок 159.
00:11:05
Add Permission Logic to the Movie List Endpoint
-
Урок 160.
00:04:34
Redirect User to the Plan Page if They Don't Have a Subscription
-
Урок 161.
00:09:36
Premium Plan Permissions