[Last updated 5/2024] Next.js 14 & React – The Complete Guide (Udemy – Vietsub and Engsub)
About Course
Views
What you’ll learn:
Learn how to build fullstack React apps with NextJS 14 & the App Router
Build real projects and apply what you learned with hands-on projects and examples
Learn about different ways of building NextJS app – App Router vs Pages Router
Get started with React Server Components, Client Components, data fetching & more!
Handle data submissions via Server Actions
Learn all key NextJS features like pre-rendering, SSR, data fetching, file-based routing and authentication
Take the full course or the “NextJS Summary” module for a quickstart if you have limited time
Link gốc:
https://www.udemy.com/course/nextjs-react-the-complete-guide/
Time Course:
40 hours (451 Lectures + Documents)
Instructor
: Maximilian Schwarzmüller
Total Weight:
18.98 GB
** Note
:
Chú ý:
Course Content
12 – Project Time Working with File-based Routing
-
001 Module Introduction.mp4
02:04 -
002 Planning The Project.mp4
04:15 -
003 Setting Up The Main Pages.mp4
07:35 -
004 Adding Dummy Data & Static Files.mp4
04:46 -
005 Adding Regular React Components.mp4
07:14 -
006 Adding More React Components & Connecting Components.mp4
10:22 -
007 Styling Components In Next.js Projects.mp4
09:28 -
009 Adding Buttons & Icons.mp4
08:25 -
010 Adding the Event Detail Page (Dynamic Route).mp4
08:31 -
011 Adding a General Layout Wrapper Component.mp4
06:26 -
012 Working on the All Events Page.mp4
02:05 -
013 Adding a Filter Form for Filtering Events.mp4
08:25 -
014 Navigating to the Filtered Events Page Progammatically.mp4
08:25 -
015 Extracting Data on the Catch-All Page.mp4
08:53 -
016 Final Steps.mp4
07:02 -
017 Module Summary.mp4
01:40
23 – Course Roundup
-
001 Course Roundup.mp4
00:55
22 – Optional NextJS Summary
-
027 Introducing API Routes.mp4
06:20 -
019 Programmatic Navigation.mp4
03:47 -
020 Adding Custom Components & Styling With CSS Modules.mp4
10:00 -
021 How NextJS Page Pre-Rendering Actually Works.mp4
05:52 -
022 Introducing Data Fetching For Page Generation (getStaticProps).mp4
08:56 -
023 More Static Site Generation (SSG) With getStaticProps.mp4
05:44 -
024 Exploring getServerSideProps.mp4
06:27 -
025 Working With Dynamic Path Params In getStaticProps.mp4
05:14 -
026 Dynamic Pages & getStaticProps & getStaticPaths.mp4
07:16 -
018 The _app.js File & Wrapper Components.mp4
06:16 -
028 Connecting & Querying a MongoDB Database.mp4
09:32 -
029 Sending HTTP Requests To API Routes.mp4
06:49 -
030 Getting Data From The Database (For Page Pre-Rendering).mp4
07:09 -
031 Getting Meetup Detail Data & Paths.mp4
09:41 -
032 Adding head Metadata To Pages.mp4
09:19 -
033 Deploying NextJS Projects.mp4
12:26 -
034 Working With Fallback Pages & Re-Deploying.mp4
04:13 -
035 Module Summary.mp4
02:11 -
010 Adding Nested Pages Paths.mp4
03:47 -
002 What is NextJS.mp4
04:45 -
003 Key Feature Server-side (Pre-) Rendering of Pages.mp4
06:37 -
004 Key Feature File-based Routing.mp4
03:13 -
005 Key Feature Build Fullstack Apps With Ease.mp4
01:50 -
006 Creating a NextJS Project & IDE Setup.mp4
06:14 -
007 About the App Router.mp4
02:47 -
008 Analyzing the Created Project.mp4
02:52 -
009 Adding First Pages To The Project.mp4
06:05 -
001 Module Introduction.mp4
03:03 -
011 Creating Dynamic Pages.mp4
03:36 -
012 Extracting Dynamic Route Data.mp4
04:07 -
013 Linking Between Pages.mp4
07:13 -
014 Onwards To A Bigger Project!.mp4
03:32 -
015 Preparing Our Project Pages.mp4
03:42 -
016 Rendering A List Of (Dummy) Meetups.mp4
05:03 -
017 Adding A Form For Adding Meetups.mp4
03:54
21 – Adding Authentication
-
012 Adding User Logout.mp4
02:18 -
021 Module Summary & Final Steps.mp4
03:29 -
020 Sending a Change Password Request From The Frontend.mp4
09:16 -
019 Adding the Change Password Logic.mp4
10:36 -
018 Protecting API Routes.mp4
06:37 -
017 Analyzing Further Authentication Requirements.mp4
03:42 -
016 Using the next-auth Session Provider Component.mp4
05:14 -
015 Protecting the Auth Page.mp4
05:46 -
014 Adding Server-Side Page Guards (And When To Use Which Approach).mp4
07:41 -
013 Adding Client-Side Page Guards (Route Protection).mp4
07:50 -
001 Module Introduction.mp4
01:16 -
011 Managing Active Session (On The Frontend).mp4
05:57 -
010 Sending a Signin Request From The Frontend.mp4
06:52 -
009 Adding the Credentials Auth Provider & User Login Logic.mp4
14:08 -
008 Improving Signup With Unique Email Addresses.mp4
03:00 -
007 Sending Signup Requests From The Frontend.mp4
09:40 -
006 Adding A User Signup API Route.mp4
12:59 -
005 Using The next-auth Library.mp4
03:04 -
003 How Does Authentication Work (In React & NextJS Apps).mp4
14:23 -
002 Our Starting Project.mp4
01:44
20 – Deploying NextJS Apps
-
001 Module Introduction.mp4
01:17 -
002 Building NextJS Apps Your Options.mp4
08:05 -
003 Key Deployment Steps.mp4
03:06 -
004 Checking & Optimizing Our Code.mp4
03:11 -
005 The NextJS Config File & Working With Environment Variables.mp4
14:25 -
006 Running a Test Build & Reducing Code Size.mp4
07:21 -
007 A Full Deployment Example (To Vercel).mp4
17:40 -
008 A Note On Github & Secret Credentials.mp4
01:57 -
009 Using the export Feature.mp4
02:16 -
010 Module Summary.mp4
00:38
19 – Complete App Example Build a Full Blog A to Z
-
014 Adding Functions To Read & Fetch Data From Markdown Files.mp4
13:40 -
028 Module Summary.mp4
01:24 -
027 Using React Portals.mp4
03:45 -
026 Adding A _document.js File.mp4
02:55 -
025 Adding head Data.mp4
06:51 -
024 Adding UI Feedback With Notifications.mp4
15:05 -
023 Storing Messages With MongoDB In A Database.mp4
08:52 -
022 Sending Data From The Client To The API Route.mp4
07:26 -
021 Adding The Contact API Route.mp4
04:26 -
020 Preparing The Contact Form.mp4
04:18 -
019 Rendering Code Snippets From Markdown.mp4
06:29 -
018 Rendering Images With The Next Image Component (From Markdown).mp4
12:46 -
016 Rendering Dynamic Post Pages & Paths.mp4
11:42 -
015 Using Markdown Data For Rendering Posts.mp4
08:19 -
001 Module Introduction.mp4
02:59 -
013 Adding Markdown Files As A Data Source.mp4
07:32 -
012 Rendering Markdown As JSX.mp4
02:30 -
011 Working On The Post Detail Page.mp4
10:10 -
010 Adding the All Posts Page.mp4
03:59 -
009 Rendering Dummy Post Data.mp4
12:25 -
008 Adding A Post Grid & Post Items.mp4
09:40 -
007 Starting Work On The Featured Posts Part.mp4
05:47 -
006 Time To Add Styling & A Logo.mp4
03:18 -
005 Adding Layout & Navigation.mp4
08:45 -
004 Adding The Hero Component.mp4
08:47 -
003 Getting Started With The Home Page.mp4
05:29 -
002 Setting Up The Core Pages.mp4
05:10
18 – Working with App-wide State (React Context)
-
001 Module Introduction.mp4
01:27 -
002 Our Target State & Starting Project.mp4
04:32 -
003 Creating a New React Context.mp4
05:37 -
004 Adding Context State.mp4
03:48 -
005 Using Context Data In Components.mp4
04:37 -
006 Example Triggering & Showing Notifications.mp4
06:35 -
007 Example Removing Notifications (Automatically).mp4
06:31 -
008 Challenge Solution.mp4
07:22 -
009 Module Summary.mp4
01:09
17 – Project Time API Routes
-
001 Module Introduction.mp4
01:31 -
002 Starting Setup & A Challenge For You!.mp4
05:15 -
003 Adding a Newsletter Route.mp4
11:10 -
004 Adding Comments API Routes.mp4
08:42 -
005 Connecting the Frontend To the Comments API Routes.mp4
10:59 -
006 Setting Up A MongoDB Database.mp4
05:42 -
007 Running MongoDB Queries From Inside API Routes.mp4
09:14 -
008 Inserting Comments Into The Database.mp4
06:26 -
009 Getting Data From The Database.mp4
04:31 -
010 Adding Error Handling.mp4
07:33 -
011 More Error Handling.mp4
10:47 -
013 Module Summary.mp4
01:45
16 – Adding Backend Code with API Routes (Fullstack React)
-
001 Module Introduction.mp4
00:50 -
002 What are API Routes.mp4
05:37 -
003 Writing Our First API Route.mp4
08:24 -
004 Preparing the Frontend Form.mp4
06:29 -
005 Parsing The Incoming Request & Executing Server-side Code.mp4
10:16 -
006 Sending Requests To API Routes.mp4
05:43 -
007 Using API Routes To Get Data.mp4
07:55 -
008 Using API Routes For Pre-Rendering Pages.mp4
08:04 -
009 Creating & Using Dynamic API Routes.mp4
13:41 -
010 Exploring Different Ways Of Structuring API Route Files.mp4
05:09 -
011 Module Summary.mp4
01:44
15 – Optimizing NextJS Apps
-
001 Module Introduction.mp4
01:19 -
002 Analyzing the Need for head Metadata.mp4
01:49 -
003 Configuring the head Content.mp4
03:41 -
004 Adding Dynamic head Content.mp4
05:17 -
005 Reusing Logic Inside A Component.mp4
04:22 -
006 Working with the _app.js File (and Why).mp4
03:03 -
007 Merging head Content.mp4
03:17 -
008 The _document.js File (And What It Does).mp4
05:31 -
009 A Closer Look At Our Images.mp4
01:59 -
010 Optimizing Images with the Next Image Component & Feature.mp4
08:37 -
011 Taking A Look At The Next Image Documentation.mp4
00:51 -
012 Module Summary.mp4
01:16
14 – Project Time Page Pre-rendering & Data Fetching
-
001 Module Introduction.mp4
01:04 -
002 Preparations.mp4
05:01 -
003 Adding Static Site Generation (SSG) On The Home Page.mp4
11:02 -
004 Loading Data & Paths For Dynamic Pages.mp4
09:50 -
005 Optimizing Data Fetching.mp4
07:47 -
006 Working on the All Events Page.mp4
02:47 -
007 Using Server-side Rendering (SSR).mp4
09:52 -
008 Adding Client-Side Data Fetching.mp4
10:55 -
009 Module Summary.mp4
01:30
13 – Page Pre-Rendering & Data Fetching
-
015 getStaticPaths & Link Prefetching Behind The Scenes.mp4
03:59 -
029 Module Summary.mp4
06:45 -
028 Combining Pre-Fetching With Client-Side Fetching.mp4
08:55 -
027 Using the useSWR NextJS Hook.mp4
08:58 -
025 Implementing Client-Side Data Fetching.mp4
14:47 -
024 Introducing Client-Side Data Fetching (And When To Use It).mp4
03:40 -
023 getServerSideProps Behind The Scenes.mp4
03:24 -
022 Dynamic Pages & getServerSideProps.mp4
04:04 -
021 getServerSideProps and its Context.mp4
04:20 -
020 Using getServerSideProps for Server-side Rendering.mp4
04:05 -
019 Introducing getServerSideProps for Server-side Rendering (SSR).mp4
04:13 -
018 Fallback Pages & Not Found Pages.mp4
05:53 -
017 Loading Paths Dynamically.mp4
04:02 -
016 Working With Fallback Pages.mp4
05:27 -
001 Module Introduction.mp4
02:25 -
014 Using getStaticPaths.mp4
03:26 -
013 Introducing getStaticPaths For Dynamic Pages.mp4
03:43 -
012 Working With Dynamic Parameters.mp4
09:46 -
011 A Closer Look At getStaticProps & Configuration Options.mp4
04:19 -
010 ISR A Look Behind The Scenes.mp4
03:45 -
009 Utilizing Incremental Static Generation (ISR).mp4
07:22 -
008 A Look Behind The Scenes.mp4
05:19 -
007 Running Server-side Code & Using the Filesystem.mp4
07:41 -
006 Adding getStaticProps To Pages.mp4
06:39 -
005 NextJS Pre-renders By Default!.mp4
03:08 -
004 Introducing Static Generation with getStaticProps.mp4
04:04 -
003 How NextJS Prepares & Pre-renders Pages.mp4
05:38 -
002 The Problem With Traditional React Apps (and Data Fetching).mp4
05:15
01 – Getting Started
-
01:20
-
02:20
-
003 Key Features & Benefits Of NextJS.mp4
02:40 -
004 Creating a First NextJS App.mp4
04:25 -
005 NextJS vs Just React – Analyzing The NextJS Project.mp4
02:30 -
006 Editing The First App.mp4
02:21 -
007 Pages Router vs App Router – One Framework, Two Approaches.mp4
02:28 -
008 How To Get The Most Out Of This Course.mp4
03:05
11 – Pages & File-based Routing
-
010 Extracting Dynamic Path Segment Data (Dynamic Routes).mp4
04:54 -
018 Module Summary.mp4
05:51 -
017 Adding a Custom 404 Page.mp4
01:35 -
016 Navigating Programmatically.mp4
03:50 -
015 A Different Way Of Setting Link Hrefs.mp4
02:55 -
014 Navigating To Dynamic Routes.mp4
03:41 -
013 Navigating with the Link Component.mp4
05:44 -
012 Adding Catch-All Routes.mp4
05:44 -
011 Building Nested Dynamic Routes & Paths.mp4
07:12 -
001 From App Router To Pages Router.mp4
01:40 -
009 Adding Dynamic Paths & Routes.mp4
04:54 -
008 Working with Nested Paths & Routes.mp4
03:33 -
007 Adding a Named Static Route File.mp4
01:34 -
006 Adding A First Page.mp4
04:01 -
005 What Is File-based Routing And Why Is It Helpful.mp4
05:22 -
004 Our Starting Setup.mp4
01:19 -
003 Module Introduction.mp4
01:12
10 – Roundup & Next Steps
-
001 Course Roundup.mp4
01:49 -
002 But There’s More NextJS Content!.mp4
03:10
09 – User Authentication
-
010 Configuring A Session & A Session Cookie.mp4
04:51 -
019 Adding User Logout.mp4
04:10 -
017 Adding an Auth-only Layout.mp4
03:41 -
016 Triggering Different Server Actions via Query Parameters.mp4
03:44 -
015 Adding User Login (via a Server Action).mp4
05:34 -
014 Switching Auth Modes With Query Parameters (Search Params).mp4
05:34 -
013 Protecting Routes Against Unauthenticated Access.mp4
03:07 -
012 Verifying An Active Auth Session.mp4
07:15 -
011 Setting Up An Auth Session.mp4
03:43 -
001 Module Introduction.mp4
01:03 -
009 Creating a New Lucia Auth Instance.mp4
04:31 -
008 Choosing a Third-Party Auth Package (Lucia).mp4
02:54 -
007 Theory How Does User Authentication Work.mp4
05:21 -
006 Checking for Email Duplication.mp4
05:00 -
005 Hashing Passwords & Storing User Data The Right Way.mp4
02:07 -
004 Storing Users in a Database – The Wrong Way.mp4
04:30 -
003 User Signup Extracting & Validating User Input.mp4
14:35 -
002 Project Setup.mp4
03:26
08 – NextJS App Optimizations
-
001 Module Introduction.mp4
03:08 -
002 Using the NextJS Image Component.mp4
03:43 -
003 Understanding the NextJS Image Component.mp4
05:15 -
004 Controlling the Image Size.mp4
04:44 -
005 Working with Priority Images & More Settings.mp4
03:02 -
006 Loading Unknown Images.mp4
04:12 -
007 Configuring CSS For Images With The fill Prop.mp4
03:03 -
008 Using An Image Loader & Cloudinary Resizing.mp4
15:51 -
009 Page Metadata – An Introduction.mp4
01:04 -
010 Configuring Static Page Metadata.mp4
02:56 -
011 Configuring Dynamic Page Metadata.mp4
05:03 -
012 Understanding Layout Metadata.mp4
01:38
07 – Understanding & Configuring Caching
-
001 Module Introduction.mp4
01:08 -
002 Making Sense of NextJS’ Caching Types.mp4
05:13 -
003 Project Setup.mp4
01:45 -
004 Handling Request Memoization.mp4
05:31 -
005 Understanding The Data Cache & Cache Settings.mp4
05:49 -
006 Controlling Data Caching.mp4
05:27 -
007 Making Sense Of The Full Route Cache.mp4
04:42 -
008 On-Demand Cache Invalidation with revalidatePath & revalidateTag.mp4
06:03 -
009 Setting Up Request Memoization For Custom Data Sources.mp4
07:15 -
010 Setting Up Data Caching For Custom Data Sources.mp4
03:44 -
011 Invalidating Custom Data Source Data.mp4
03:32 -
012 Module Summary.mp4
01:44
06 – Mutating Data – Deep Dive
-
001 Module Introduction.mp4
01:11 -
002 Starting Project & Analyzing Mutation Options.mp4
05:46 -
003 Setting Up A Form Action.mp4
09:19 -
004 Creating a Server Action.mp4
04:16 -
005 Storing Data in Databases.mp4
04:39 -
006 Providing User Feedback with The useFormStatus Hook.mp4
06:04 -
008 Validating User Input With Help Of The useFormState Hook.mp4
09:57 -
009 Adjusting Server Actions for useFormState.mp4
07:40 -
010 Storing Server Actions In Separate Files.mp4
03:57 -
012 Uploading & Storing Images.mp4
08:13 -
013 Alternative Ways of Using, Configuring & Triggering Server Actions.mp4
11:00 -
014 Revalidating Data To Avoid Caching Problems.mp4
04:45 -
015 Performing Optimistic Updates With NextJS.mp4
11:42 -
016 Caching Differences Development vs Production.mp4
06:13
05 – Data Fetching – Deep Dive
-
001 Module Introduction.mp4
00:56 -
002 Adding a Backend.mp4
02:46 -
003 Option 1 Client-side Data Fetching.mp4
08:50 -
004 Option 2 Server-side Data Fetching.mp4
05:36 -
005 Why Use A Separate Backend Fetching Directly From The Source!.mp4
06:14 -
006 Showing a Loading Fallback.mp4
04:50 -
007 Migrating An Entire Application To A Local Data Source (Database).mp4
13:19 -
008 Granular Data Fetching With Suspense.mp4
11:35
04 – Routing & Page Rendering – Deep Dive
-
011 Throwing (Route-related) Errors.mp4
03:38 -
022 Module Summary.mp4
00:30 -
021 Using Middleware.mp4
05:40 -
020 Building APIs with Route Handlers.mp4
05:15 -
019 Using & Understanding Route Groups.mp4
06:39 -
018 Navigating Programmatically.mp4
02:42 -
016 Combining Parallel & Intercepting Routes.mp4
07:42 -
015 Intercepting Navigation & Using Interception Routes.mp4
05:11 -
014 Nested Routes Inside Dynamic Routes.mp4
04:56 -
013 Server vs Client Components.mp4
10:10 -
012 Handling Errors With Error Pages.mp4
03:02 -
001 Module Introduction.mp4
01:37 -
010 Catch-All Fallback Routes & Dealing With Multiple Path Segments.mp4
09:21 -
009 Configuring Catch-All Routes.mp4
06:01 -
008 Working with Parallel Routes & Nested Routes.mp4
12:50 -
007 Setting Up & Using Parallel Routes.mp4
06:40 -
006 Handling Not Found Errors & Showing Not Found Pages.mp4
04:39 -
005 App Styling & Using Dummy Data.mp4
08:59 -
004 Exercise Solution – Part 2.mp4
04:56 -
003 Exercise Solution – Part 1.mp4
07:17 -
002 Project Setup, Overview & An Exercise!.mp4
04:17
03 – NextJS Essentials (App Router)
-
037 Creating a Slug & Sanitizing User Input for XSS Protection.mp4
03:20 -
025 Adding A Loading Page.mp4
03:59 -
026 Using Suspense & Streamed Responses For Granular Loading State Management.mp4
05:54 -
027 Handling Errors.mp4
05:22 -
028 Handling Not Found States.mp4
01:57 -
029 Loading & Rendering Meal Details via Dynamic Routes & Route Parameters.mp4
11:03 -
030 Throwing Not Found Errors For Individual Meals.mp4
02:03 -
031 Getting Started with the Share Meal Form.mp4
01:53 -
032 Getting Started with a Custom Image Picker Input Component.mp4
08:28 -
033 Adding an Image Preview to the Picker.mp4
05:59 -
035 Introducing & Using Server Actions for Handling Form Submissions.mp4
09:02 -
036 Storing Server Actions in Separate Files.mp4
03:45 -
024 Fetching Data By Leveraging NextJS & Fullstack Capabilities.mp4
07:17 -
038 Storing Uploaded Images & Storing Data in the Database.mp4
12:56 -
039 Managing the Form Submission Status with useFormStatus.mp4
05:30 -
040 Adding Server-Side Input Validation.mp4
05:54 -
042 Working with Server Action Responses & useFormState.mp4
08:05 -
043 Building For Production & Understanding NextJS Caching.mp4
06:06 -
044 Triggering Cache Revalidations.mp4
03:57 -
045 Don’t Store Files Locally On The Filesystem!.mp4
02:13 -
047 Adding Static Metadata.mp4
03:47 -
048 Adding Dynamic Metadata.mp4
02:20 -
049 Module Summary.mp4
04:25 -
013 Revisiting The Concept Of Layouts.mp4
03:50 -
002 Starting Setup.mp4
02:32 -
003 Understanding File-based Routing & React Server Components.mp4
02:45 -
004 Adding Another Route via the File System.mp4
03:06 -
005 Navigating Between Pages – Wrong & Right Solution.mp4
04:12 -
006 Working with Pages & Layouts.mp4
03:21 -
007 Reserved File Names, Custom Components & How To Organize A NextJS Project.mp4
06:31 -
009 Configuring Dynamic Routes & Using Route Parameters.mp4
06:17 -
010 Onwards to the Main Project The Foodies App.mp4
01:23 -
011 Exercise Your Task.mp4
02:03 -
012 Exercise Solution.mp4
08:19 -
001 Module Introduction.mp4
01:20 -
014 Adding a Custom Component To A Layout.mp4
05:58 -
015 Styling NextJS Project Your Options & Using CSS Modules.mp4
06:00 -
016 Optimizing Images with the NextJS Image Component.mp4
04:57 -
017 Using More Custom Components.mp4
03:48 -
018 Populating The Starting Page Content.mp4
04:18 -
019 Preparing an Image Slideshow.mp4
03:25 -
020 React Server Components vs Client Components – When To Use What.mp4
08:14 -
021 Using Client Components Efficiently.mp4
11:07 -
022 Outputting Meals Data & Images With Unknown Dimensions.mp4
10:31 -
023 Setting Up A SQLite Database.mp4
03:11
02 – Optional React Refresher
-
048 How React Works & Understanding Components.mp4
07:36 -
057 Adding Routing.mp4
16:52 -
055 Working with Event Props.mp4
07:07 -
054 Introducing State.mp4
08:18 -
053 Adding More Components.mp4
05:40 -
052 Handling Events.mp4
06:40 -
051 Passing Data With Props & Dynamic Content.mp4
05:17 -
050 Building & Re-using Components.mp4
07:19 -
049 More Component Work & Styling With CSS Classes.mp4
05:34 -
058 Adding Links & Navigation.mp4
05:20 -
047 Diving Into The Created Project.mp4
06:31 -
045 Setting Up A Code Editor.mp4
03:04 -
044 Creating a New React Project.mp4
08:15 -
043 React Alternatives.mp4
03:06 -
042 Building Single-Page Applications (SPAs).mp4
02:00 -
041 Why ReactJS & A First Demo.mp4
07:25 -
040 What is ReactJS.mp4
03:47 -
039 Module Introduction.mp4
01:27 -
066 Sending a POST Http Request.mp4
05:18 -
074 Module Summary.mp4
01:00 -
073 More Context Usage.mp4
06:54 -
072 Using Context In Components.mp4
12:10 -
071 Updating State Based On Previous State.mp4
05:54 -
070 Introducing React Context.mp4
11:02 -
069 Using the useEffect Hook.mp4
10:07 -
068 Getting Started with Fetching Data.mp4
09:24 -
067 Navigating Programmatically.mp4
03:41 -
037 Module Summary.mp4
01:25 -
065 Preparing The App For Http Requests & Adding a Backend.mp4
06:51 -
064 Getting User Input & Handling Form Submission.mp4
09:45 -
063 Working With Forms.mp4
08:58 -
062 Creating Wrapper Components.mp4
08:39 -
061 Adding Even More Components.mp4
09:47 -
060 Outputting Lists Of Data & Components.mp4
05:49 -
059 Scoping Component Styles With CSS Modules.mp4
05:45 -
011 Passing Data to Components with Props.mp4
06:15 -
019 State & Conditional Content.mp4
08:59 -
018 The Special children Prop.mp4
07:21 -
017 Lifting State Up.mp4
09:08 -
016 Working with State.mp4
10:00 -
015 Adding Event Listeners.mp4
07:52 -
014 Preparing the App For State Management.mp4
03:45 -
013 Exercise & Another Component.mp4
06:31 -
012 CSS Styling & CSS Modules.mp4
10:07 -
020 Adding a Shared Header & More State Management.mp4
07:51 -
010 Reusing Components.mp4
06:00 -
009 Outputting Dynamic Values.mp4
05:03 -
008 Building A First Custom Component.mp4
11:15 -
007 Understanding How React Works.mp4
07:46 -
006 Our Starting Project.mp4
03:28 -
005 Creating React Projects.mp4
03:27 -
004 React Projects – Requirements.mp4
02:09 -
003 What Is React & Why Would You Use It.mp4
05:37 -
028 Handle Loading State.mp4
04:22 -
036 Dynamic Routes.mp4
08:41 -
035 Submitting Data with action()s.mp4
11:07 -
034 Data Fetching via loader()s.mp4
09:07 -
033 Linking & Navigating.mp4
08:09 -
032 Refactoring Route Components & More Nesting.mp4
05:35 -
031 Working with Layout Routes.mp4
04:08 -
030 Adding Routes.mp4
05:36 -
029 Understanding & Adding Routing.mp4
03:55 -
002 Module Introduction.mp4
01:08 -
027 Handling Side Effects with useEffect().mp4
09:06 -
026 Sending a POST HTTP Request.mp4
04:12 -
025 Adding a Backend to the React SPA.mp4
06:10 -
024 Outputting List Data.mp4
06:38 -
023 Updating State Based On Previous State.mp4
05:30 -
022 Handling Form Submission.mp4
06:18 -
021 Adding Form Buttons.mp4
03:34