-
Урок 1.
00:02:58
Course Roadmap and Projects
-
Урок 2.
00:18:54
Building Our First React App!
-
Урок 3.
00:05:25
Watch Before You Start!
-
Урок 4.
00:03:35
Downloading Course Material
-
Урок 5.
00:00:56
Introduction to Part 1
-
Урок 6.
00:00:40
Section Overview
-
Урок 7.
00:10:28
Why Do Front-End Frameworks Exist?
-
Урок 8.
00:07:09
React vs. Vanilla JavaScript
-
Урок 9.
00:09:18
What is React?
-
Урок 10.
00:08:48
Setting Up Our Development Environment
-
Урок 11.
00:14:50
Pure React
-
Урок 12.
00:03:17
A Quick Look at React's Official Documentation
-
Урок 13.
00:07:42
Setting Up a New React Project: The Options
-
Урок 14.
00:12:49
Setting Up a Project With Create-React-App
-
Урок 15.
00:00:57
Section Overview
-
Урок 16.
00:10:59
Destructuring Objects and Arrays
-
Урок 17.
00:09:54
Rest/Spread Operator
-
Урок 18.
00:04:51
Template Literals
-
Урок 19.
00:05:50
Ternaries Instead of if/else Statements
-
Урок 20.
00:05:00
Arrow Functions
-
Урок 21.
00:10:33
Short-Circuiting And Logical Operators: &&, ||, ??
-
Урок 22.
00:06:31
Optional Chaining
-
Урок 23.
00:08:36
The Array map Method
-
Урок 24.
00:08:37
The Array filter Method
-
Урок 25.
00:07:22
The Array reduce Method
-
Урок 26.
00:06:39
The Array sort Method
-
Урок 27.
00:11:07
Working With Immutable Arrays
-
Урок 28.
00:08:12
Asynchronous JavaScript: Promises
-
Урок 29.
00:07:31
Asynchronous JavaScript: Async/Await
-
Урок 30.
00:00:55
Section Overview
-
Урок 31.
00:07:26
Rendering the Root Component and Strict Mode
-
Урок 32.
00:09:47
Before We Start Coding: Debugging
-
Урок 33.
00:04:35
Components as Building Blocks
-
Урок 34.
00:09:41
Creating And Reusing a Component
-
Урок 35.
00:06:26
What is JSX?
-
Урок 36.
00:08:08
Creating More Components
-
Урок 37.
00:04:27
JavaScript Logic in Components
-
Урок 38.
00:05:58
Separation of Concerns
-
Урок 39.
00:12:18
Styling React Applications
-
Урок 40.
00:09:09
Passing and Receiving Props
-
Урок 41.
00:07:10
Props, Immutability, and One-Way Data Flow
-
Урок 42.
00:17:26
CHALLENGE #1: Profile Card (v1)
-
Урок 43.
00:03:38
The Rules of JSX
-
Урок 44.
00:11:25
Rendering Lists
-
Урок 45.
00:09:17
Conditional Rendering With &&
-
Урок 46.
00:04:46
Conditional Rendering With Ternaries
-
Урок 47.
00:05:04
Conditional Rendering With Multiple Returns
-
Урок 48.
00:04:33
Extracting JSX Into a New Component
-
Урок 49.
00:04:53
Destructuring Props
-
Урок 50.
00:05:37
React Fragments
-
Урок 51.
00:08:01
Setting Classes and Text Conditionally
-
Урок 52.
00:05:34
Section Summary
-
Урок 53.
00:08:16
CHALLENGE #2: Profile Card (v2)
-
Урок 54.
00:01:03
Section Overview
-
Урок 55.
00:14:49
Let's Build a Steps Component
-
Урок 56.
00:07:22
Handling Events the React Way
-
Урок 57.
00:06:09
What is State in React?
-
Урок 58.
00:09:08
Creating a State Variable With useState
-
Урок 59.
00:05:18
Don't Set State Manually!
-
Урок 60.
00:04:52
The Mechanics of State
-
Урок 61.
00:08:37
Adding Another Piece of State
-
Урок 62.
00:06:10
React Developer Tools
-
Урок 63.
00:05:17
Updating State Based on Current State
-
Урок 64.
00:06:34
More Thoughts About State + State Guidelines
-
Урок 65.
00:06:35
A Vanilla JavaScript Implementation
-
Урок 66.
00:13:10
CHALLENGE #1: Date Counter (v1)
-
Урок 67.
00:04:09
Starting a New Project: The "Far Away" Travel List
-
Урок 68.
00:08:55
Building the Layout
-
Урок 69.
00:08:43
Rendering the Items List
-
Урок 70.
00:11:56
Building a Form and Handling Submissions
-
Урок 71.
00:18:27
Controlled Elements
-
Урок 72.
00:03:31
State vs. Props
-
Урок 73.
00:13:57
EXERCISE #1: Flashcards
-
Урок 74.
00:10:32
CHALLENGE #2: Date Counter (v2)
-
Урок 75.
00:00:59
Section Overview
-
Урок 76.
00:05:00
What is "Thinking in React"?
-
Урок 77.
00:09:25
Fundamentals of State Management
-
Урок 78.
00:14:42
Thinking About State and Lifting State Up
-
Урок 79.
00:06:26
Reviewing "Lifting Up State"
-
Урок 80.
00:08:15
Deleting an Item: More Child-to-Parent Communication!
-
Урок 81.
00:07:44
Updating an Item: Complex Immutable Data Operation
-
Урок 82.
00:03:04
Derived State
-
Урок 83.
00:10:44
Calculating Statistics as Derived State
-
Урок 84.
00:10:49
Sorting Items
-
Урок 85.
00:05:04
Clearing the List
-
Урок 86.
00:08:54
Moving Components Into Separate Files
-
Урок 87.
00:14:16
EXERCISE #1: Accordion Component (v1)
-
Урок 88.
00:16:11
The "children" Prop: Making a Reusable Button
-
Урок 89.
00:08:14
More Reusability With the "children" Prop
-
Урок 90.
00:10:16
EXERCISE #2: Accordion Component (v2)
-
Урок 91.
00:22:10
CHALLENGE #1: Tip Calculator
-
Урок 92.
00:00:56
Section Overview
-
Урок 93.
00:03:53
Project Setup
-
Урок 94.
00:12:03
Building the Static App: List of Friends
-
Урок 95.
00:09:28
Building the Static App: Forms
-
Урок 96.
00:06:35
Displaying the New Friend Form
-
Урок 97.
00:18:39
Adding a New Friend
-
Урок 98.
00:15:03
Selecting a Friend
-
Урок 99.
00:09:54
Creating Controlled Elements
-
Урок 100.
00:12:49
Splitting a Bill
-
Урок 101.
00:01:16
Introduction to Part 2
-
Урок 102.
00:01:01
Section Overview
-
Урок 103.
00:04:11
Setting Up the "usePopcorn" Project
-
Урок 104.
00:12:36
How to Split a UI Into Components
-
Урок 105.
00:23:59
Splitting Components in Practice
-
Урок 106.
00:02:43
Component Categories
-
Урок 107.
00:07:32
Prop Drilling
-
Урок 108.
00:04:52
Component Composition
-
Урок 109.
00:08:50
Fixing Prop Drilling With Composition (And Building a Layout)
-
Урок 110.
00:06:31
Using Composition to Make a Reusable Box
-
Урок 111.
00:04:45
Passing Elements as Props (Alternative to children)
-
Урок 112.
00:11:23
Building a Reusable Star Rating Component
-
Урок 113.
00:13:05
Creating the Stars
-
Урок 114.
00:07:44
Handling Hover Events
-
Урок 115.
00:04:29
Props as a Component API
-
Урок 116.
00:19:28
Improving Reusability With Props
-
Урок 117.
00:07:25
PropTypes
-
Урок 118.
00:18:21
CHALLENGE #1: Text Expander Component
-
Урок 119.
00:01:56
Section Overview
-
Урок 120.
00:11:12
Project Setup and Walkthrough
-
Урок 121.
00:05:10
Components, Instances, and Elements
-
Урок 122.
00:07:54
Instances and Elements in Practice
-
Урок 123.
00:06:56
How Rendering Works: Overview
-
Урок 124.
00:18:29
How Rendering Works: The Render Phase
-
Урок 125.
00:11:28
How Rendering Works: The Commit Phase
-
Урок 126.
00:05:53
How Diffing Works
-
Урок 127.
00:05:14
Diffing Rules in Practice
-
Урок 128.
00:07:43
The Key Prop
-
Урок 129.
00:04:03
Resetting State With the Key Prop
-
Урок 130.
00:04:08
Using the Key Prop to Fix Our Eat-'N-Split App
-
Урок 131.
00:09:25
Rules for Render Logic: Pure Components
-
Урок 132.
00:09:12
State Update Batching
-
Урок 133.
00:15:44
State Update Batching in Practice
-
Урок 134.
00:13:43
How Events Work in React
-
Урок 135.
00:09:53
Libraries vs. Frameworks & The React Ecosystem
-
Урок 136.
00:10:28
Section Summary: Practical Takeaways
-
Урок 137.
00:00:59
Section Overview
-
Урок 138.
00:04:32
The Component Lifecycle
-
Урок 139.
00:09:49
How NOT to Fetch Data in React
-
Урок 140.
00:04:41
useEffect to the Rescue
-
Урок 141.
00:06:24
A First Look at Effects
-
Урок 142.
00:05:41
Using an async Function
-
Урок 143.
00:03:48
Adding a Loading State
-
Урок 144.
00:13:03
Handling Errors
-
Урок 145.
00:12:18
The useEffect Dependency Array
-
Урок 146.
00:15:09
Synchronizing Queries With Movie Data
-
Урок 147.
00:13:20
Selecting a Movie
-
Урок 148.
00:17:44
Loading Movie Details
-
Урок 149.
00:26:12
Adding a Watched Movie
-
Урок 150.
00:08:45
Adding a New Effect: Changing Page Title
-
Урок 151.
00:04:22
The useEffect Cleanup Function
-
Урок 152.
00:05:23
Cleaning Up the Title
-
Урок 153.
00:10:17
Cleaning Up Data Fetching
-
Урок 154.
00:14:07
One More Effect: Listening to a Keypress
-
Урок 155.
00:16:44
CHALLENGE #1: Currency Converter
-
Урок 156.
00:00:58
Section Overview
-
Урок 157.
00:10:56
React Hooks and Their Rules
-
Урок 158.
00:08:37
The Rules of Hooks in Practice
-
Урок 159.
00:12:31
More Details of useState
-
Урок 160.
00:13:31
Initializing State With a Callback (Lazy Initial State)
-
Урок 161.
00:03:15
useState Summary
-
Урок 162.
00:03:39
How NOT to Select DOM Elements in React
-
Урок 163.
00:05:37
Introducing Another Hook: useRef
-
Урок 164.
00:10:10
Refs to Select DOM Elements
-
Урок 165.
00:10:16
Refs to Persist Data Between Renders
-
Урок 166.
00:04:23
What are Custom Hooks? When to Create One?
-
Урок 167.
00:13:03
Creating our First Custom Hook: useMovies
-
Урок 168.
00:09:07
Creating useLocalStorageState
-
Урок 169.
00:08:20
Creating useKey
-
Урок 170.
00:07:28
CHALLENGE #1: useGeolocate
-
Урок 171.
00:01:17
Section Overview
-
Урок 172.
00:09:33
Our First Class Component
-
Урок 173.
00:10:26
Working With Event Handlers
-
Урок 174.
00:05:38
Class Components vs. Function Components
-
Урок 175.
00:07:46
Starting the "Classy Weather" App
-
Урок 176.
00:09:40
Fetching Weather Data
-
Урок 177.
00:14:11
Displaying the Weather
-
Урок 178.
00:04:06
Removing Boilerplate Code With Class Fields
-
Урок 179.
00:04:20
Child to Parent Communication
-
Урок 180.
00:15:37
Lifecycle Methods
-
Урок 181.
00:01:12
Introduction to Part 3
-
Урок 182.
00:01:04
Section Overview
-
Урок 183.
00:18:00
Yet Another Hook: useReducer
-
Урок 184.
00:12:24
Managing Related Pieces of State
-
Урок 185.
00:14:15
Managing State With useReducer
-
Урок 186.
00:07:58
The "React Quiz" App
-
Урок 187.
00:18:32
Loading Questions from a Fake API
-
Урок 188.
00:09:06
Handling Loading, Error, and Ready Status
-
Урок 189.
00:04:55
Starting a New Quiz
-
Урок 190.
00:07:46
Displaying Questions
-
Урок 191.
00:16:43
Handling New Answers
-
Урок 192.
00:06:23
Moving to the Next Question
-
Урок 193.
00:08:58
Displaying Progress
-
Урок 194.
00:15:08
Finishing a Quiz
-
Урок 195.
00:07:06
Restarting a Quiz
-
Урок 196.
00:20:57
Setting Up a Timer With useEffect
-
Урок 197.
00:05:55
Section Summary: useState vs. useReducer
-
Урок 198.
00:19:51
CHALLENGE #1: Creating a Bank Account With useReducer
-
Урок 199.
00:01:02
Section Overview
-
Урок 200.
00:15:42
Creating Our First App With Vite: "WorldWise"
-
Урок 201.
00:06:41
Routing and Single-Page Applications (SPAs)
-
Урок 202.
00:12:16
Implementing Main Pages and Routes
-
Урок 203.
00:09:58
Linking Between Routes With <Link /> and <NavLink />
-
Урок 204.
00:05:51
Styling Options For React Applications
-
Урок 205.
00:16:31
Using CSS Modules
-
Урок 206.
00:17:00
Building the Pages
-
Урок 207.
00:08:45
Building the App Layout
-
Урок 208.
00:13:26
Nested Routes and Index Route
-
Урок 209.
00:18:43
Implementing the Cities List
-
Урок 210.
00:11:08
Implementing the Countries List
-
Урок 211.
00:05:32
Storing State in the URL
-
Урок 212.
00:10:29
Dynamic Routes With URL Parameters
-
Урок 213.
00:10:35
Reading and Setting a Query String
-
Урок 214.
00:11:51
Programmatic Navigation with useNavigate
-
Урок 215.
00:04:13
Programmatic Navigation with <Navigate />
-
Урок 216.
00:01:00
Section Overview
-
Урок 217.
00:04:23
CHALLENGE #1: Understand "The Atomic Blog" App
-
Урок 218.
00:05:17
What is the Context API?
-
Урок 219.
00:09:28
Creating and Providing a Context
-
Урок 220.
00:10:54
Consuming the Context
-
Урок 221.
00:16:16
Advanced Pattern: A Custom Provider and Hook
-
Урок 222.
00:11:39
Thinking In React: Advanced State Management
-
Урок 223.
00:08:33
Back to "WorldWise": Creating a CitiesContext
-
Урок 224.
00:04:27
Consuming the CitiesContext
-
Урок 225.
00:17:59
Finishing the City View
-
Урок 226.
00:09:26
Including a Map With the Leaflet Library
-
Урок 227.
00:05:59
Displaying City Markers on Map
-
Урок 228.
00:13:39
Interacting With the Map
-
Урок 229.
00:11:34
Setting Map Position With Geolocation
-
Урок 230.
00:17:43
Fetching City Data in the Form
-
Урок 231.
00:23:29
Creating a New City
-
Урок 232.
00:05:38
Deleting a City
-
Урок 233.
00:22:39
Advanced State Management System: Context + useReducer
-
Урок 234.
00:11:04
Adding Fake Authentication: Setting Up Context
-
Урок 235.
00:16:25
Adding Fake Authentication: Implementing "Login"
-
Урок 236.
00:11:22
Adding Fake Authentication: Protecting a Route
-
Урок 237.
00:08:23
CHALLENGE #2: Refactoring "React Quiz" to Context API
-
Урок 238.
00:01:04
Section Overview
-
Урок 239.
00:06:07
Performance Optimization and Wasted Renders
-
Урок 240.
00:08:22
The Profiler Developer Tool
-
Урок 241.
00:11:50
A Surprising Optimization Trick With children
-
Урок 242.
00:05:30
Understanding memo
-
Урок 243.
00:13:18
memo in Practice
-
Урок 244.
00:06:40
Understanding useMemo and useCallback
-
Урок 245.
00:08:43
useMemo in Practice
-
Урок 246.
00:10:10
useCallback in Practice
-
Урок 247.
00:14:49
Optimizing Context Re-Renders
-
Урок 248.
00:12:38
Back to The "WorldWise" App
-
Урок 249.
00:15:53
Optimizing Bundle Size With Code Splitting
-
Урок 250.
00:03:00
Don't Optimize Prematurely!
-
Урок 251.
00:10:02
useEffect Rules and Best Practices
-
Урок 252.
00:12:16
CHALLENGE #1: Fix Performance Issues in "Workout Timer"
-
Урок 253.
00:11:56
Setting State Based on Other State Updates
-
Урок 254.
00:15:05
Using Helper Functions In Effects
-
Урок 255.
00:09:53
Closures in Effects
-
Урок 256.
00:01:08
Section Overview
-
Урок 257.
00:12:15
Introduction to Redux
-
Урок 258.
00:10:48
Creating a Reducer: Bank Account
-
Урок 259.
00:09:47
Creating a Redux Store
-
Урок 260.
00:06:29
Working With Action Creators
-
Урок 261.
00:12:31
Adding More State: Customer
-
Урок 262.
00:11:48
Professional Redux File Structure: State Slices
-
Урок 263.
00:05:47
Back to React! Connecting our Redux App With React
-
Урок 264.
00:17:22
Dispatching Actions from Our React App
-
Урок 265.
00:04:51
The Legacy Way of Connecting Components to Redux
-
Урок 266.
00:04:29
Redux Middleware and Thunks
-
Урок 267.
00:17:51
Making an API Call With Redux Thunks
-
Урок 268.
00:10:22
The Redux DevTools
-
Урок 269.
00:03:41
What is Redux Toolkit (RTK)?
-
Урок 270.
00:04:38
Creating the Store With RTK
-
Урок 271.
00:21:45
Creating the Account Slice
-
Урок 272.
00:05:03
Back to Thunks
-
Урок 273.
00:09:15
Creating the Customer Slice
-
Урок 274.
00:07:44
Redux vs. Context API
-
Урок 275.
00:01:28
Introduction to Part 4
-
Урок 276.
00:00:52
Section Overview
-
Урок 277.
00:08:14
Setting Up a New Project: "Fast React Pizza Co."
-
Урок 278.
00:21:25
Application Planning
-
Урок 279.
00:08:21
Setting Up a Professional File Structure
-
Урок 280.
00:10:31
A New Way Of Implementing Routes
-
Урок 281.
00:11:19
Building the App Layout
-
Урок 282.
00:11:51
Fetching Data With React Router "Loaders": Pizza Menu
-
Урок 283.
00:06:01
Displaying a Loading Indicator
-
Урок 284.
00:06:25
Handling Errors With Error Elements
-
Урок 285.
00:12:41
Fetching Orders
-
Урок 286.
00:19:05
Writing Data With React Router "Actions"
-
Урок 287.
00:10:28
Error Handling in Form Actions
-
Урок 288.
00:01:00
Section Overview
-
Урок 289.
00:07:57
What is Tailwind CSS?
-
Урок 290.
00:12:04
Setting Up Tailwind CSS
-
Урок 291.
00:09:00
Working With Color
-
Урок 292.
00:10:01
Styling Text
-
Урок 293.
00:11:18
The Box Model: Spacing, Borders, and Display
-
Урок 294.
00:10:50
Responsive Design
-
Урок 295.
00:06:32
Using Flexbox
-
Урок 296.
00:12:21
Using CSS Grid
-
Урок 297.
00:12:13
Styling Buttons: Element States and Transitions
-
Урок 298.
00:10:23
Styling Form Elements
-
Урок 299.
00:04:29
Reusing Styles With @apply
-
Урок 300.
00:12:28
Reusing Styles With React Components
-
Урок 301.
00:06:31
Absolute Positioning, z-index, and More
-
Урок 302.
00:10:54
Configuring Tailwind: Custom Font Family
-
Урок 303.
00:18:28
Styling the Menu
-
Урок 304.
00:11:47
Styling the Cart
-
Урок 305.
00:13:22
Styling the Order Form
-
Урок 306.
00:13:55
Styling the Order Overview
-
Урок 307.
00:00:40
Section Overview
-
Урок 308.
00:13:25
Modeling the "User" State With Redux Toolkit
-
Урок 309.
00:10:38
Reading and Updating the User State
-
Урок 310.
00:14:21
Modeling the "Cart" State
-
Урок 311.
00:07:07
Adding Menu Items to the Cart
-
Урок 312.
00:09:00
Building the Cart Overview With Redux Selectors
-
Урок 313.
00:07:06
Building the Cart Page
-
Урок 314.
00:14:45
Deleting Cart Items
-
Урок 315.
00:13:33
Updating Cart Quantities
-
Урок 316.
00:14:32
Using the Cart for New Orders
-
Урок 317.
00:16:05
Redux Thunks With createAsyncThunk
-
Урок 318.
00:16:05
Integrating Geolocation
-
Урок 319.
00:12:45
Fetching Data Without Navigation: useFetcher
-
Урок 320.
00:14:38
Updating Data Without Navigation
-
Урок 321.
00:00:55
Section Overview
-
Урок 322.
00:18:30
Application Planning
-
Урок 323.
00:08:12
Setting Up the Project: "The Wild Oasis"
-
Урок 324.
00:12:23
Introduction to Styled Components
-
Урок 325.
00:14:37
Global Styles With Styled Components
-
Урок 326.
00:10:26
Styled Component Props and the "css" Function
-
Урок 327.
00:11:04
Building More Reusable Styled Components
-
Урок 328.
00:06:28
Setting Up Pages and Routes
-
Урок 329.
00:14:22
Building the App Layout
-
Урок 330.
00:13:10
Building the Sidebar and Main Navigation
-
Урок 331.
00:00:47
Section Overview
-
Урок 332.
00:02:25
What is Supabase?
-
Урок 333.
00:05:28
Creating a New Database
-
Урок 334.
00:05:35
Modeling Application State
-
Урок 335.
00:09:32
Creating Tables
-
Урок 336.
00:08:30
Relationships Between Tables
-
Урок 337.
00:06:19
Adding Security Policies (RLS)
-
Урок 338.
00:08:46
Connecting Supabase With Our React App
-
Урок 339.
00:04:40
Setting Up Storage Buckets
-
Урок 340.
00:00:47
Section Overview
-
Урок 341.
00:06:21
What is React Query?
-
Урок 342.
00:07:20
Setting Up React Query
-
Урок 343.
00:21:42
Fetching Cabin Data
-
Урок 344.
00:17:22
Mutations: Deleting a Cabin
-
Урок 345.
00:08:42
Displaying Toasts (Notifications)
-
Урок 346.
00:11:18
Introducing Another Library: React Hook Form
-
Урок 347.
00:12:14
Creating a New Cabin
-
Урок 348.
00:22:43
Handling Form Errors
-
Урок 349.
00:14:42
Uploading Images to Supabase
-
Урок 350.
00:30:41
Editing a Cabin
-
Урок 351.
00:17:27
Abstracting React Query Into Custom Hooks
-
Урок 352.
00:06:50
Duplicating Cabins
-
Урок 353.
00:08:48
Fetching Applications Settings
-
Урок 354.
00:11:29
Updating Application Settings
-
Урок 355.
00:01:14
Section Overview
-
Урок 356.
00:05:45
An Overview of Reusability in React
-
Урок 357.
00:06:20
Setting Up an Example
-
Урок 358.
00:07:43
The Render Props Pattern
-
Урок 359.
00:08:07
A Look at Higher-Order Components (HOC)
-
Урок 360.
00:18:18
The Compound Component Pattern
-
Урок 361.
00:19:55
Building a Modal Window Using a React Portal
-
Урок 362.
00:21:46
Converting the Modal to a Compound Component
-
Урок 363.
00:13:38
Detecting a Click Outside the Modal
-
Урок 364.
00:08:43
Confirming Cabin Deletions
-
Урок 365.
00:11:46
Building a Reusable Table
-
Урок 366.
00:04:39
Applying the Render Props Pattern
-
Урок 367.
00:32:36
Building a Reusable Context Menu
-
Урок 368.
00:01:18
Section Overview
-
Урок 369.
00:18:50
Client-Side Filtering: Filtering Cabins
-
Урок 370.
00:20:26
Client-Side Sorting: Sorting Cabins
-
Урок 371.
00:18:00
Building the Bookings Table
-
Урок 372.
00:06:16
Uploading Sample Data
-
Урок 373.
00:17:11
API-Side Filtering: Filtering Bookings
-
Урок 374.
00:06:54
API-Side Sorting: Sorting Bookings
-
Урок 375.
00:15:53
Building a Reusable Pagination Component
-
Урок 376.
00:10:40
API-Side Pagination: Paginating Bookings
-
Урок 377.
00:07:59
Prefetching With React Query
-
Урок 378.
00:15:18
Building the Single Booking Page
-
Урок 379.
00:28:19
Checking In a Booking
-
Урок 380.
00:14:05
Adding Optional Breakfast
-
Урок 381.
00:09:51
Checking Out a Booking (+ Fixing a Small Bug)
-
Урок 382.
00:13:34
Deleting a Booking
-
Урок 383.
00:22:07
Authentication: User Login With Supabase
-
Урок 384.
00:23:25
Authorization: Protecting Routes
-
Урок 385.
00:09:01
User Logout
-
Урок 386.
00:05:36
Fixing an Important Bug
-
Урок 387.
00:11:00
Building the Sign Up Form
-
Урок 388.
00:15:02
User Sign Up
-
Урок 389.
00:04:41
Authorization on Supabase: Protecting Database (RLS)
-
Урок 390.
00:10:19
Building The App Header
-
Урок 391.
00:28:27
Updating User Data and Password
-
Урок 392.
00:21:30
Implementing Dark Mode With CSS Variables
-
Урок 393.
00:04:27
Building the Dashboard Layout
-
Урок 394.
00:15:22
Computing Recent Bookings and Stays
-
Урок 395.
00:12:03
Displaying Statistics
-
Урок 396.
00:22:56
Displaying a Line Chart With the Recharts Library
-
Урок 397.
00:15:53
Displaying a Pie Chart
-
Урок 398.
00:20:42
Displaying Stays for Current Day
-
Урок 399.
00:09:45
Error Boundaries
-
Урок 400.
00:14:40
Final Touches + Fixing Bugs
-
Урок 401.
00:01:10
Section Overview
-
Урок 402.
00:11:21
Deploying to Netlify
-
Урок 403.
00:16:17
Setting Up a Git and GitHub Repository
-
Урок 404.
00:05:55
Deploying to Vercel
-
Урок 405.
00:01:24
Introduction to Part 5
-
Урок 406.
00:00:47
Section Overview
-
Урок 407.
00:15:46
An Overview of Server-Side Rendering (SSR)
-
Урок 408.
00:26:34
Experiment: Manual SSR With React DOM + Node.js
-
Урок 409.
00:06:34
The Missing Piece: Hydration
-
Урок 410.
00:15:05
Implementing Hydration
-
Урок 411.
00:12:04
What is Next.js?
-
Урок 412.
00:10:12
Setting Up a Next.js Project
-
Урок 413.
00:09:40
Defining Routes and Pages
-
Урок 414.
00:09:26
Navigating Between Pages
-
Урок 415.
00:12:14
Creating a Layout
-
Урок 416.
00:32:05
What are React Server Components? (RSC – Part 1)
-
Урок 417.
00:06:37
Fetching Data in a Page
-
Урок 418.
00:08:03
Adding Interactivity With Client Components
-
Урок 419.
00:06:30
Displaying a Loading Indicator
-
Урок 420.
00:18:36
How RSC Works Behind the Scenes (RSC – Part 2)
-
Урок 421.
00:12:16
RSC vs. SSR: How are They Related? (RSC – Part 3)
-
Урок 422.
00:00:52
Section Overview
-
Урок 423.
00:13:10
Project Planning: "The Wild Oasis" Customer Website
-
Урок 424.
00:11:02
Project Organization
-
Урок 425.
00:09:25
Styling With Tailwind CSS
-
Урок 426.
00:10:26
Adding Page Metadata and Favicon
-
Урок 427.
00:06:25
Loading and Optimizing Fonts
-
Урок 428.
00:07:03
Improving the Navigation and Root Layout
-
Урок 429.
00:08:40
Optimizing Images With Next.js <Image /> Component
-
Урок 430.
00:09:48
Building the Home Page
-
Урок 431.
00:13:31
Building the About Page With Responsive Images
-
Урок 432.
00:06:56
Adding Nested Routes and Pages
-
Урок 433.
00:12:14
Adding a Nested Layout
-
Урок 434.
00:01:04
Section Overview
-
Урок 435.
00:11:45
Setting Up Supabase
-
Урок 436.
00:11:14
Fetching and Displaying Cabin List
-
Урок 437.
00:07:16
Streaming Route Segments With loading.js File
-
Урок 438.
00:12:19
What is React Suspense?
-
Урок 439.
00:10:30
Streaming UI With Suspense: Cabin List
-
Урок 440.
00:10:26
Dynamic Route Segments: Building the Cabin Page
-
Урок 441.
00:03:40
Generating Dynamic Metadata
-
Урок 442.
00:09:04
Error Handling: Setting Up Error Boundaries
-
Урок 443.
00:05:46
Error Handling: "Not Found" Errors
-
Урок 444.
00:14:15
Different Types of SSR: Static vs. Dynamic Rendering
-
Урок 445.
00:04:49
Analyzing Rendering in Our App
-
Урок 446.
00:08:34
Making Dynamic Pages Static With generateStaticParams
-
Урок 447.
00:09:13
Static Site Generation (SSG)
-
Урок 448.
00:06:58
Partial Pre-Rendering
-
Урок 449.
00:18:29
How Next.js Caches Data
-
Урок 450.
00:20:40
Experimenting With Caching and ISR
-
Урок 451.
00:03:47
CHALLENGE #1: Fetching the Number of Cabins
-
Урок 452.
00:01:14
Section Overview
-
Урок 453.
00:15:07
Blurring the Boundary Between Server and Client (RSC – Part 4)
-
Урок 454.
00:08:16
Client Components in Server Components
-
Урок 455.
00:07:46
Highlighting Current Side Navigation Link
-
Урок 456.
00:34:29
Sharing State Between Client and Server: The URL
-
Урок 457.
00:10:41
Advanced: Server Components in Client Components
-
Урок 458.
00:27:01
Data Fetching Strategies for the Reservation Section
-
Урок 459.
00:25:48
Using the Context API for State Management
-
Урок 460.
00:11:36
Creating an API Endpoint With Route Handlers
-
Урок 461.
00:00:55
Section Overview
-
Урок 462.
00:21:39
Setting Up NextAuth
-
Урок 463.
00:14:12
Getting the User Session
-
Урок 464.
00:04:13
What is Middleware in Next.js?
-
Урок 465.
00:10:54
Protecting Routes With NextAuth Middleware
-
Урок 466.
00:12:19
Building a Custom Sign In Page
-
Урок 467.
00:03:23
Building a Custom Sign Out Button
-
Урок 468.
00:14:36
Creating a New Guest on First Sign In
-
Урок 469.
00:01:08
Section Overview
-
Урок 470.
00:12:02
What are Server Actions?
-
Урок 471.
00:30:44
Updating the Profile Using a Server Action
-
Урок 472.
00:05:53
Manual Cache Revalidation
-
Урок 473.
00:07:56
Displaying a Loading Indicator: The useFormStatus Hook
-
Урок 474.
00:10:28
Building the Guest's Reservations Page
-
Урок 475.
00:19:31
Deleting a Reservation
-
Урок 476.
00:07:28
Another Loading Indicator: The useTransition Hook
-
Урок 477.
00:30:25
CHALLENGE #1: Updating a Reservation
-
Урок 478.
00:22:23
Removing Reservations Immediately: The useOptimistic Hook
-
Урок 479.
00:12:10
Back to the Cabin Page: Finishing the Date Selector
-
Урок 480.
00:32:29
Creating a New Reservation
-
Урок 481.
00:00:49
Section Overview
-
Урок 482.
00:03:25
Setting Up the GitHub Repository
-
Урок 483.
00:06:19
Deploying to Vercel
-
Урок 484.
00:08:12
Updating Environment Variables and OAuth Credentials
-
Урок 485.
00:01:08
Section Overview
-
Урок 486.
00:08:53
Setting Up Another Project
-
Урок 487.
00:07:37
Routes, Pages, and Navigation
-
Урок 488.
00:03:34
Dynamic Routes
-
Урок 489.
00:06:38
Creating a Layout With a Custom _App
-
Урок 490.
00:02:29
Creating Pages
-
Урок 491.
00:06:04
Defining Page Title and Favicon
-
Урок 492.
00:08:13
Fetching Data With getStaticProps (SSG)
-
Урок 493.
00:10:51
Fetching Data With getServerSideProps (SSR)
-
Урок 494.
00:11:57
API Routes
-
Урок 495.
00:15:42
Handling Form Submissions
-
Урок 496.
00:03:21
Where to Go from Here
But of course to truly understand how to use all tools in Js, Redux you need to build a project from scratch, not from the tutorials.