UDEMY.React.The.Complete.Guide.incl.Next.js.Redux.2026.BOOKWARE-MiMiR

Section
eBooks/Audiobooks
Group
MiMiR
Size
54,52 GB
Files
86
Date
2026-02-07

NFO

Mímir, Keeper of the Well of Wisdom
  
  React - The Complete Guide (incl. Next.js, Redux)

  https://www.udemy.com/course/react-the-complete-guide-incl-
  redux/

  Year         : 2026
  Language     : English
  Level        : All Levels
  Category     : Development
  Subcategory  : Programming Languages
  Duration     : 70h 45m
  Lectures     : 728
  Rating       : 4.7/5 (238,239 reviews)
  Students     : 1,006,863

  INSTRUCTOR(S)


  HEADLINE
    Dive in and learn React.js from scratch! Learn React, Hooks,
    Redux, React Router, Next.js, Best Practices and way more!


  WHAT YOU'LL LEARN
  * Learn React from the ground up and finish the course as an
    advanced React developer
  * Build multiple high-quality demo apps, including a fullstack
    app built with NextJS
  * Join more than 900,000 students in this course & more than
    3,000,000 students I taught across all my courses
  * Build fullstack React apps with NextJS 14+
  * Follow along locally or in a cloud development environment
  * Learn all about React Hooks and React Components
  * Manage complex state efficiently with React's Context API &
    React Redux
  * Build standalone React apps & applications connected to a
    backend via HTTP
  * Learn about routing & route-related data fetching with React
    Router
  * Implement user authentication in React apps
  * Get started with React Unit Testing


  REQUIREMENTS
  * JavaScript + HTML + CSS fundamentals are absolutely required
  * You DON'T need to be a JavaScript expert to succeed in this
    course!
  * ES6+ JavaScript knowledge is beneficial but not a must-have
  * NO prior React or any other JS framework experience is
    required!


  WHO IS THIS COURSE FOR
  * Students who want to learn how to build reactive and fast
    web
    apps
  * Anyone who's interested in learning an extremely popular
    technology used by leading tech companies like Netflix
  * Students who want to take their web development skills to
    the
    next level and learn a future-proof technology


  DESCRIPTION
  This bestselling course by the author of "React Key Concepts"
  has turned more students into ReactJS developers than any
    other
  courses - more than 1,000,000 and counting! - Fully updated
    for
  React 19! - A Course For Busy Customers & Business
  Professionals! This course also comes with two paths which you
  can take: The "complete" path (full >40h course) and the
  "summary" (fast-track) path (~4h summary module) - you can
  choose the path that best fits your time requirements!
    React.js
  is THE most popular JavaScript library you can use and learn
  these days to build modern, reactive user interfaces for the
  web. This course teaches you React in-depth, from the ground
    up,
  step by step by diving into all the core basics, exploring
    tons
  of examples and also introducing you to advanced concepts as
  well. You'll get all the theory, tons of examples and demos,
  assignments and exercises and tons of important knowledge that
  is skipped by most other resources - after all, there is a
  reason why this course is that huge! :) And in case you don't
  even know why you would want to learn React and you're just
    here
  because of some ad or "the algorithm" - no worries: ReactJS is
    a
  key technology as a web developer and in this course I will
    also
  explain WHY it's that important! Welcome to "React - The
  Complete Guide"! This course will teach you React.js in a
  practice-oriented way, using all the latest patterns and best
  practices you need. You will learn all the key fundamentals as
  well as advanced concepts and related topics to turn you into
    a
  React.js developer. This is a huge course because it really
  covers EVERYTHING you need to know and learn to become a
  React.js developer! No matter if you know nothing about React
    or
  if you already got some basic React knowledge (not required
    but
  also not a problem), you will get tons of useful information
    and
  knowledge out of this course! My goal with this course is to
  ensure that you feel confident working with React, so that you
  can apply for React jobs, use it in your own projects or
    simply
  enhance your portfolio as a developer - whatever your goal is:
  This course gets you there! I kept this course updated since
    its
  initial launch to ensure that you always learn React in the
    best
  possible and up-do-date way! What's in this course? A thorough
  introduction to React.js (What is it and why would you use
    it?)
  All the core basics: How React works, building components with
  React & building UIs with React Components, props & dynamic
    data
  binding Working with user events and state to create
    interactive
  applications A (thorough) look behind the scenes to understand
  how React works under the hood Detailed explanations on how to
  work with lists and conditional content React Hooks (in-
    depth)!
  Working with built-in Hooks and building custom Hooks How to
  debug React apps Styling React apps with "Styled Components"
    and
  "CSS Modules" Working with "Fragments" & "Portals" Dealing
    with
  side effects Class-based components and functional components
  Sending Http requests & handling transitional states +
    responses
  Handling forms and user input (incl. validation) Using React
  Form Actions Redux & Redux Toolkit Routing with React Router
  Understanding React Server Components An in-depth introduction
  into Next.js Deploying React Apps Implementing Authentication
  Unit Tests Combining React with TypeScript Adding Animations
  Tons of examples and demo projects so that you can apply all
    the
  things you learned in real projects And so much more - check
    out
  the full curriculum on this page! This really is the "Complete
  Guide" - promised! And best of all? You don't need any prior
  React knowledge! This course starts with zero knowledge
    assumed!
  All you need is basic web development and JavaScript knowledge
  (though the course even includes a brief JavaScript refresher
    to
  ensure that we're all on the same page!). Check out the full
  curriculum, the free preview videos and join the course risk-
  free thanks to the 30-day money-back guarantee!


  COURSE CONTENT

  Chapter 1: Getting Started
    1. Welcome To The Course!
    2. What is React.js? And Why Would You Use It?
    3. ReactJS vs "Vanilla JavaScript": Why Use React?
    4. Editing Our First React App
    5. About This Course & Course Outline
    6. The Two Ways (Paths) Of Taking This Course
    7. Getting The Most Out Of This Course
    8. Join our Online Learning Community
    9. Creating React Projects
    10. Why Do You Need A Special Project Setup?
    11. Course Setup

  Chapter 2: JavaScript Refresher
    12. Module Introduction
    13. Starting Project
    14. Adding JavaScript To A Page & How React Projects Differ
    15. React Projects Use a Build Process
    16. "import" & "export"
    17. Revisiting Variables & Values
    18. Revisiting Operators
    19. Revisiting Functions & Parameters
    20. Arrow Functions
    21. More on the Arrow Function Syntax
    22. Revisiting Objects & Classes
    23. Arrays & Array Methods like map()
    24. Destructuring
    25. Destructuring in Function Parameter Lists
    26. The Spread Operator
    27. Revisiting Control Structures
    28. Manipulating the DOM - Not With React!
    29. Using Functions as Values
    30. Defining Functions Inside Of Functions
    31. Reference vs Primitive Values
    32. Next-Gen JavaScript - Summary
    33. JS Array Functions
    34. Module Resources

  Chapter 3: React Essentials - Components, JSX, Props, State &
    More
    35. Module Introduction
    36. It's All About Components! [Core Concept]
    37. Setting Up The Starting Project
    38. JSX & React Components [Core Concept]
    39. Creating & Using a First Custom Component
    40. A Closer Look: Components & File Extensions
    41. How React Handles Components & How It Builds A
        "Component Tree" [Core Concept]
    42. Using & Outputting Dynamic Values [Core Concept]
    43. Setting HTML Attributes Dynamically & Loading Image
        Files
    44. Making Components Reusable with Props [Core Concept]
    45. Alternative Props Syntaxes
    46. More Prop Syntaxes
    47. Best Practice: Storing Components in Files & Using a
        Good Project Structure
    48. Storing Component Style Files Next To Components
    49. Component Composition: The special "children" Prop [Core
        Concept]
    50. Reacting to Events [Core Concept]
    51. Passing Functions as Values to Props
    52. Passing Custom Arguments to Event Functions
    53. How NOT to Update the UI - A Look Behind The Scenes of
        React [Core Concept]
    54. Managing State & Using Hooks [Core Concept]
    55. Deriving & Outputting Data Based on State
    56. Rendering Content Conditionally
    57. CSS Styling & Dynamic Styling
    58. Outputting List Data Dynamically
    59. Essentials Summary Slides
    60. Module Summary

  Chapter 4: React Essentials - Deep Dive
    61. Module Introduction
    62. You Don't Have To Use JSX!
    63. Working with Fragments
    64. When Should You Split Components?
    65. Splitting Components By Feature & State
    66. Problem: Props Are Not Forwarded To Inner Elements
    67. Forwarding Props To Wrapped Elements
    68. Working with Multiple JSX Slots
    69. Setting Component Types Dynamically
    70. Setting Default Prop Values
    71. Onwards To The Next Project & Advanced Concepts
    72. Not All Content Must Go Into Components
    73. Closer Look: public/ vs assets/ for Image Storage
    74. New Project: First Steps Towards Our Tic-Tac-Toe Game
    75. Concept Repetition: Splitting Components & Building
        Reusable Components
    76. Concept Repetition: Working with State
    77. Component Instances Work In Isolation!
    78. Conditional Content & A Suboptimal Way Of Updating State
    79. Best Practice: Updating State Based On Old State
        Correctly
    80. User Input & Two-Way-Binding
    81. Rendering Multi-Dimensional Lists
    82. Best Practice: Updating Object State Immutably
    83. Lifting State Up [Core Concept]
    84. Avoid Intersecting States!
    85. Prefer Computed Values & Avoid Unnecessary State
        Management
    86. Deriving State From Props
    87. Sharing State Across Components
    88. Reducing State Management & Identifying Unnecessary
        State
    89. Disabling Buttons Conditionally
    90. Outsourcing Data Into A Separate File
    91. Lifting Computed Values Up
    92. Deriving Computed Values From Other Computed Values
    93. Tic-Tac-Toe Game: The "Game Over" Screen & Checking for
        a Draw
    94. Why Immutability Matters - Always!
    95. When NOT To Lift State Up
    96. An Alternative To Lifting State Up
    97. Final Polishing & Improving Components
    98. Summary Slides

  Chapter 5: React Essentials - Practice Project
    99. Module Introduction & A Challenge For You!
    100. Adding a Header Component
    101. Getting Started with a User Input Component
    102. Handling Events & Using Two-Way-Binding
    103. Lifting State Up
    104. Computing Values & Properly Handling Number Values
    105. Outputting Results in a List & Deriving More Values
    106. Outputting Content Conditionally

  Chapter 6: Styling React Components
    107. Module Introduction & Starting Project
    108. Splitting CSS Code Across Multiple Files
    109. Styling React Apps with Vanilla CSS - Pros & Cons
    110. Vanilla CSS Styles Are NOT Scoped To Components!
    111. Styling React Apps with Inline Styles
    112. Dynamic & Conditional Inline Styles
    113. Dynamic & Conditional Styling with CSS Files & CSS
         Classes
    114. Scoping CSS Rules with CSS Modules
    115. Introducing "Styled Components" (Third-party Package)
    116. Creating Flexible Components with Styled Components
    117. Dynamic & Conditional Styling with Styled Components
    118. Styled Components: Pseudo Selectors, Nested Rules &
         Media Queries
    119. Creating Reusable Components & Component Combinations
    120. Introducing Tailwind CSS For React App Styling
    121. Tailwind 3 vs 4
    122. Adding & Using Tailwind CSS In A React Project
    123. Tailwind: Media Queries & Pseudo Selectors
    124. Dynamic & Conditional Styling with Tailwind
    125. Migrating The Demo App to Tailwind CSS
    126. Tailwind CSS: Pros & Cons

  Chapter 7: Debugging React Apps
    127. Module Introduction
    128. The Starting Project
    129. Understanding React Error Messages
    130. Using the Browser Debugger & Breakpoints
    131. Understanding React's "Strict Mode"
    132. Using the React DevTools (Browser Extension)

  Chapter 8: Working with Refs & Portals
    133. Module Introduction & Starting Project
    134. Repetition: Managing User Input with State (Two-Way-
         Binding)
    135. Repetition: Fragments
    136. Introducing Refs: Connecting & Accessing HTML Elements
         via Refs
    137. Manipulating the DOM via Refs
    138. Refs vs State Values
    139. Adding Challenges to the Demo Project
    140. Setting Timers & Managing State
    141. Using Refs for More Than "DOM Element Connections"
    142. Adding a Modal Component
    143. Forwarding Refs to Custom Components
    144. Exposing Component APIs via the useImperativeHandle
         Hook
    145. More Examples: When To Use Refs & State
    146. Sharing State Across Components
    147. Enhancing the Demo App "Result Modal"
    148. Closing the Modal via the ESC (Escape) Key
    149. Introducing & Understanding "Portals"

  Chapter 9: Practice Project: Project Management App (with
    Components, State, Refs & More)
    150. Module Introduction & Starting Project
    151. Adding a "Projects Sidebar" Component
    152. Styling the Sidebar & Button with Tailwind CSS
    153. Adding the "New Project" Component & A Reusable "Input"
         Component
    154. Styling Buttons & Inputs with Tailwind CSS
    155. Splitting Components to Split JSX & Tailwind Styles
         (for Higher Reusability)
    156. Managing State to Switch Between Components
    157. Collecting User Input with Refs & Forwarded Refs
    158. Handling Project Creation & Updating the UI
    159. Validating User Input & Showing an Error Modal via
         useImperativeHandle
    160. Styling the Modal via Tailwind CSS
    161. Making Projects Selectable & Viewing Project Details
    162. Handling Project Deletion
    163. Adding "Project Tasks" & A Tasks Component
    164. Managing Tasks & Understanding Prop Drilling
    165. Clearing Tasks & Fixing Minor Bugs

  Chapter 10: React's Context API & useReducer - Advanced State
    Management
    166. Module Introduction
    167. Understanding Prop Drilling & Project Overview
    168. Prop Drilling: Component Composition as a Solution
    169. Introducing the Context API
    170. Creating & Providing The Context
    171. Consuming the Context
    172. Linking the Context to State
    173. A Different Way Of Consuming Context
    174. What Happens When Context Values Change?
    175. Migrating the Entire Demo Project to use the Context
         API
    176. Outsourcing Context & State Into a Separate Provider
         Component
    177. Introducing the useReducer Hook
    178. Dispatching Actions & Editing State with useReducer

  Chapter 11: Handling Side Effects & Working with the
    useEffect() Hook
    179. Module Introduction & Starting Project
    180. What's a "Side Effect"? A Thorough Example
    181. A Potential Problem with Side Effects: An Infinite Loop
    182. Using useEffect for Handling (Some) Side Effects
    183. Not All Side Effects Need useEffect
    184. useEffect Not Needed: Another Example
    185. Preparing Another Use-Case For useEffect
    186. Using useEffect for Syncing With Browser APIs
    187. Understanding Effect Dependencies
    188. Fixing a Small Bug
    189. Preparing Another Problem That Can Be Fixed with
         useEffect
    190. Introducing useEffect's Cleanup Function
    191. The Problem with Object & Function Dependencies
    192. The useCallback Hook
    193. useEffect's Cleanup Function: Another Example
    194. Optimizing State Updates

  Chapter 12: Practice Project: Building a Quiz App
    195. Module Introduction & Starting Project
    196. A First Component & Some State
    197. Deriving Values, Outputting Questions & Registering
         Answers
    198. Shuffling Answers & Adding Quiz Logic
    199. Adding Question Timers
    200. Working with Effect Dependencies & useCallback
    201. Using Effect Cleanup Functions & Using Keys for
         Resetting Components
    202. Highlighting Selected Answers & Managing More State
    203. Splitting Components Up To Solve Problems
    204. Moving Logic To Components That Actually Need It
         ("Moving State Down")
    205. Setting Different Timers Based On The Selected Answer
    206. Outputting Quiz Results

  Chapter 13: A Look Behind The Scenes Of React & Optimization
    Techniques
    207. Module Introduction
    208. React Builds A Component Tree / How React Works Behind
         The Scenes
    209. Analyzing Component Function Executions via React's
         DevTools Profiler
    210. Avoiding Component Function Executions with memo()
    211. Avoiding Component Function Executions with Clever
         Structuring
    212. Understanding the useCallback() Hook
    213. Understanding the useMemo() Hook
    214. React Uses A Virtual DOM - Time To Explore It!
    215. Why Keys Matter When Managing State!
    216. More Reasons For Why Keys Matter
    217. Using Keys For Resetting Components
    218. State Scheduling & Batching
    219. Optimizing React with MillionJS

  Chapter 14: An Alternative Way Of Building Components: Class-
    based Components
    220. Module Introduction
    221. What & Why
    222. Adding a First Class-based Component
    223. Working with State & Events
    224. The Component Lifecycle (Class-based Components Only!)
    225. Lifecycle Methods In Action
    226. Class-based Components & Context
    227. Class-based vs Functional Components: A Summary
    228. Introducing Error Boundaries
    229. Module Resources

  Chapter 15: Sending Http Requests (e.g. Connecting to a
    Database)
    230. Module Introduction
    231. How (Not) To Connect To A Database
    232. Starting Project & Dummy Backend API
    233. Preparing the App For Data Fetching
    234. How NOT To Send HTTP Requests (And Why It's Wrong)
    235. Sending HTTP Requests (GET Request) via useEffect
    236. Using async / await
    237. Handling Loading States
    238. Importing from Error.jsx
    239. Handling HTTP Errors
    240. Transforming Fetched Data
    241. Extracting Code & Improving Code Structure
    242. Sending Data with POST Requests
    243. Using Optimistic Updating
    244. Deleting Data (via DELETE HTTP Requests)
    245. Practice: Fetching Data

  Chapter 16: Building Custom React Hooks
    246. Module Introduction & Starting Project
    247. Revisiting the "Rules of Hooks" & Why To Use Hooks
    248. Creating a Custom Hook
    249. Custom Hook: Managing State & Returning State Values
    250. Exposing Nested Functions From The Custom Hook
    251. Using A Custom Hook in Multiple Components
    252. Creating Flexible Custom Hooks

  Chapter 17: Working with Forms & User Input
    253. Module Introduction & Starting Project
    254. What Are Forms & What's Tricky About Them?
    255. Handling Form Submission
    256. Managing & Getting User Input via State & Generic
         Handlers
    257. Getting User Input via Refs
    258. Getting Values via FormData & Native Browser APIs
    259. Resetting Forms
    260. Validating Input on Every Keystroke via State
    261. Validating Input Upon Lost Focus (Blur)
    262. Validating Input Upon Form Submission
    263. Validating Input via Built-in Validation Props
    264. Mixing Custom & Built-in Validation Logic
    265. Building & Using a Reusable Input Component
    266. Outsourcing Validation Logic
    267. Creating a Custom useInput Hook
    268. Using Third-Party Form Libraries

  Chapter 18: Handling Forms via Form Actions
    269. Module Introduction
    270. What are Form Actions?
    271. Adding Validation Checks
    272. Managing Form-dependent State with useActionState()
    273. Using User Input
    274. Moving the Action Function out of the Component
    275. A Demo App: Introduction
    276. Handling Form Submission
    277. Working with Asynchronous Form Actions
    278. Updating the UI with useFormStatus()
    279. Registering Multiple Form Actions
    280. Sending an HTTP Request via a Form Action
    281. Using the "pending" State from useActionState()
    282. Adding Optimistic Updating
    283. Module Summary

  Chapter 19: Practice Project: Building a Food Order App
    284. Module Introduction & Starting Project
    285. Planning the App & Adding a First Component
    286. Fetching Meals Data (GET HTTP Request)
    287. Adding a "MealItem" Component
    288. Formatting & Outputting Numbers as Currency
    289. Creating a Configurable & Flexible Custom Button
         Component
    290. Getting Started with Cart Context & Reducer
    291. Finishing & Using the Cart Context & Reducer
    292. Adding a Reusable Modal Component with useEffect
    293. Opening the Cart in the Modal via a New Context
    294. Working on the Cart Items
    295. Adding a Custom Input Component & Managing Modal
         Visibility
    296. Handling Form Submission & Validation
    297. Sending a POST Request with Order Data
    298. Adding a Custom HTTP Hook & Avoiding Common Errors
    299. Handling HTTP Loading & Error States
    300. Finishing Touches
    301. Migrating To Form Actions
    302. Managing Form Status with Form Actions

  Chapter 20: Diving into Redux (An Alternative To The Context
    API)
    303. Module Introduction
    304. Another Look At State In React Apps
    305. Redux vs React Context
    306. How Redux Works
    307. MUST READ: Redux createStore() is (not) deprecated
    308. Exploring The Core Redux Concepts
    309. More Redux Basics
    310. Preparing a new Project
    311. Creating a Redux Store for React
    312. Providing the Store
    313. Using Redux Data in React Components
    314. Dispatching Actions From Inside Components
    315. Redux with Class-based Components
    316. Attaching Payloads to Actions
    317. Working with Multiple State Properties
    318. How To Work With Redux State Correctly
    319. Redux Challenges & Introducing Redux Toolkit
    320. Adding State Slices
    321. Connecting Redux Toolkit State
    322. Migrating Everything To Redux Toolkit
    323. Working with Multiple Slices
    324. Reading & Dispatching From A New Slice
    325. Splitting Our Code
    326. Summary

  Chapter 21: Advanced Redux
    327. Module Introduction
    328. Redux & Side Effects (and Asynchronous Code)
    329. Refresher / Practice: Part 1/2
    330. Refresher / Practice: Part 2/2
    331. Using Firebase as a Backend
    332. Redux & Async Code
    333. Frontend Code vs Backend Code
    334. Where To Put Our Logic
    335. Using useEffect with Redux
    336. A Problem with useEffect()
    337. Handling Http States & Feedback with Redux
    338. Using an Action Creator Thunk
    339. Getting Started with Fetching Data
    340. Finalizing the Fetching Logic
    341. Exploring the Redux DevTools
    342. Summary

  Chapter 22: Building a Multi-Page SPA with React Router
    343. Module Introduction
    344. Routing: Multiple Pages in Single-Page Applications
    345. Project Setup & Installing React Router
    346. Defining Routes
    347. Adding a Second Route
    348. Exploring an Alternative Way of Defining Routes
    349. Navigating between Pages with Links
    350. Layouts & Nested Routes
    351. Showing Error Pages with errorElement
    352. Working with Navigation Links (NavLink)
    353. Navigating Programmatically
    354. Defining & Using Dynamic Routes
    355. Adding Links for Dynamic Routes
    356. Understanding Relative & Absolute Paths
    357. Working with Index Routes
    358. Onwards to a new Project Setup
    359. Time to Practice: Problem
    360. Time to Practice: Solution
    361. Data Fetching with a loader()
    362. Using Data From A Loader In The Route Component
    363. More loader() Data Usage
    364. Where Should loader() Code Be Stored?
    365. When Are loader() Functions Executed?
    366. Reflecting The Current Navigation State in the UI
    367. Returning Responses in loader()s
    368. Which Kind Of Code Goes Into loader()s?
    369. Error Handling with Custom Errors
    370. Extracting Error Data & Throwing Responses
    371. The json() Utility Function
    372. Dynamic Routes & loader()s
    373. The useRouteLoaderData() Hook & Accessing Data From
         Other Routes
    374. Planning Data Submission
    375. Working with action() Functions
    376. Submitting Data Programmatically
    377. Updating the UI State Based on the Submission Status
    378. Validating User Input & Outputting Validation Errors
    379. Reusing Actions via Request Methods
    380. Behind-the-Scenes Work with useFetcher()
    381. Deferring Data Fetching with defer()
    382. defer() and json() with React Router v7
    383. Controlling Which Data Should Be Deferred
    384. Module Summary
    385. Module Resources
    386. Old Lectures

  Chapter 23: Adding Authentication To React Apps
    387. Module Introduction
    388. How Authentication Works
    389. Project Setup & Route Setup
    390. Working with Query Parameters
    391. Implementing the Auth Action
    392. Validating User Input & Outputting Validation Errors
    393. Adding User Login
    394. Attaching Auth Tokens to Outgoing Requests
    395. Adding User Logout
    396. Updating the UI Based on Auth Status
    397. Important: loader()s must return null or any other
         value
    398. Adding Route Protection
    399. Adding Automatic Logout
    400. Managing the Token Expiration
    401. Module Resources

  Chapter 24: Deploying React Apps
    402. Module Introduction
    403. Deployment Steps
    404. Understanding Lazy Loading
    405. Adding Lazy Loading
    406. Building the Code For Production
    407. Deployment Example
    408. Server-side Routing & Required Configuration

  Chapter 25: React Query / Tanstack Query: Handling HTTP
    Requests With Ease
    409. Module Introduction
    410. Project Setup & Overview
    411. React Query: What & Why?
    412. Installing & Using Tanstack Query - And Seeing Why It's
         Great!
    413. Understanding & Configuring Query Behaviors - Cache &
         Stale Data
    414. Dynamic Query Functions & Query Keys
    415. The Query Configuration Object & Aborting Requests
    416. Enabled & Disabled Queries
    417. Changing Data with Mutations
    418. Fetching More Data & Testing the Mutation
    419. Acting on Mutation Success & Invalidating Queries
    420. A Challenge! The Problem
    421. A Challenge! The Solution
    422. Disabling Automatic Refetching After Invalidations
    423. Enhancing the Demo App & Repeating Mutation Concepts
    424. React Query Advantages In Action
    425. Updating Data with Mutations
    426. Optimistic Updating
    427. Using the Query Key As Query Function Input
    428. React Query & React Router

  Chapter 26: A (Pretty Deep Dive) Introduction to Next.js
    429. Module Introduction
    430. Creating a NextJS Project
    431. Understanding File-based Routing & React Server
         Components
    432. Adding Another Route via the Filesystem
    433. Navigating Between Pages
    434. Working with Pages & Layouts
    435. Reserved File Names, Custom Components & How To
         Organize A NextJS Project
    436. Reserved Filenames
    437. Configuring Dynamic Routes & Using Route Parameters
    438. Onwards to the Main Project: The Foodies App
    439. Exercise: Your Task
    440. Exercise: Solution
    441. Revisiting The Concept Of Layouts
    442. Adding a Custom Component To A Layout
    443. Styling NextJS Project: Your Options & Using CSS
         Modules
    444. Optimizing Images with the NextJS Image Component
    445. Using More Custom Components
    446. Populating The Starting Page Content
    447. Preparing an Image Slideshow
    448. React Server Components vs Client Components - When To
         Use What
    449. Using Client Components Efficiently
    450. Outputting Meals Data & Images With Unknown Dimensions
    451. Setting Up A SQLite Database
    452. Fetching Data By Leveraging NextJS & Fullstack
         Capabilities
    453. Adding A Loading Page
    454. Using Suspense & Streamed Responses For Granular
         Loading State Management
    455. Handling Errors
    456. Handling "Not Found" States
    457. Loading & Rendering Meal Details via Dynamic Routes &
         Route Parameters
    458. Throwing Not Found Errors For Individual Meals
    459. Getting Started with the "Share Meal" Form
    460. Getting Started with a Custom Image Picker Input
         Component
    461. Adding an Image Preview to the Picker
    462. Improving the Image Picker Component
    463. Introducing & Using Server Actions for Handling Form
         Submissions
    464. Storing Server Actions in Separate Files
    465. Creating a Slug & Sanitizing User Input for XSS
         Protection
    466. Storing Uploaded Images & Storing Data in the Database
    467. Managing the Form Submission Status with useFormStatus
    468. Adding Server-Side Input Validation
    469. Working with Server Action Responses & useFormState
    470. Building For Production & Understanding NextJS Caching
    471. Triggering Cache Revalidations
    472. Don't Store Files Locally On The Filesystem!
    473. Bonus: Storing Uploaded Images In The Cloud (AWS S3)
    474. Adding Static Metadata
    475. Adding Dynamic Metadata
    476. Module Summary
    477. About the NextJS Pages Router
    478. Creating a NextJS Project
    479. Analyzing the Created Project
    480. Adding First Pages
    481. Adding Nested Paths & Pages (Nested Routes)
    482. Creating Dynamic Pages (with Parameters)
    483. Extracting Dynamic Parameter Values
    484. Linking Between Pages
    485. Onwards to a bigger Project!
    486. Preparing the Project Pages
    487. Outputting a List of Meetups
    488. Adding the New Meetup Form
    489. The "_app.js" File & Layout Wrapper
    490. Using Programmatic (Imperative) Navigation
    491. Adding Custom Components & CSS Modules
    492. How Pre-rendering Works & Which Problem We Face
    493. Data Fetching for Static Pages
    494. More on Static Site Generation (SSG)
    495. Exploring Server-side Rendering (SSR) with
         "getServerSideProps"
    496. Working with Params for SSG Data Fetching
    497. Preparing Paths with "getStaticPaths" & Working With
         Fallback Pages
    498. Introducing API Routes
    499. Working with MongoDB
    500. Sending Http Requests To Our API Routes
    501. Getting Data From The Database
    502. Getting Meetup Details Data & Preparing Pages
    503. Adding "head" Metadata
    504. Deploying Next.js Projects
    505. Using Fallback Pages & Re-deploying
    506. Summary
    507. Module Resources

  Chapter 27: React Server Components (RSC) & Server Actions - A
    Closer Look
    508. Module Introduction
    509. Why We Need A Special Project Setup
    510. Understanding React Server Components
    511. Changing Server to Client Components
    512. Combining Server and Client Components
    513. Fetching Data with RSCs
    514. Submitting Data with Server Actions
    515. Using the use() Hook for Promises & Data Fetching
    516. The use() Hook In Action
    517. Handling Errors
    518. Theory Wrap Up

  Chapter 28: Animating React Apps
    519. Module Introduction
    520. Project Setup & Overview
    521. Animating with CSS Transitions
    522. Animating with CSS Animations
    523. Introducing Framer Motion
    524. Framer Motion Basics & Fundamentals
    525. Animating Between Conditional Values
    526. Adding Entry Animations
    527. Animating Element Disappearances / Removal
    528. Making Elements "Pop" With Hover Animations
    529. Reusing Animation States
    530. Nested Animations & Variants
    531. Animating Staggered Lists
    532. Animating Colors & Working with Keyframes
    533. Imperative Animations
    534. Animating Layout Changes
    535. Orchestrating Multi-Element Animations
    536. Combining Animations With Layout Animations
    537. Animating Shared Elements
    538. Re-triggering Animations via Keys
    539. Scroll-based Animations

  Chapter 29: React Patterns & Best Practices
    540. Module Introduction
    541. Project Overview
    542. Introducing Compound Components
    543. Managing Multi-Component State with the Context API
    544. Grouping Compound Components
    545. Adding Extra Components For Reusability &
         Configurability
    546. Sharing Cross-Component State When Working With
         Compound Components
    547. Introducing & Using Render Props
    548. Adding Search To A React App
    549. Implementing a Search Functionality With Help Of Render
         Props
    550. Handling Keys Dynamically
    551. Working with Debouncing

  Chapter 30: Replacing Redux with React Hooks
    552. Module Introduction
    553. React 18 & This Section
    554. Starting Project & Why You Would Replace Redux
    555. Alternative: Using the Context API
    556. Toggling Favorites with the Context API
    557. Context API Summary (and why NOT to use it instead of
         Redux)
    558. Getting Started with a Custom Hook as a Store
    559. Finishing the Store Hook
    560. Creating a Concrete Store
    561. Using the Custom Store
    562. Custom Hook Store Summary
    563. Optimizing the Custom Hook Store
    564. Bonus: Managing Multiple State Slices with the Custom
         Store Hook
    565. Wrap Up
    566. Module Resources

  Chapter 31: Testing React Apps (Unit Tests)
    567. Module Introduction
    568. What & Why?
    569. Understanding Different Kinds Of Tests
    570. What To Test & How To Test
    571. Understanding the Technical Setup & Involved Tools
    572. Running a First Test
    573. Writing Our First Test
    574. Grouping Tests Together With Test Suites
    575. Testing User Interaction & State
    576. Testing Connected Components
    577. Testing Asynchronous Code
    578. Working With Mocks
    579. Summary & Further Resources

  Chapter 32: React + TypeScript
    580. Module Introduction
    581. What & Why?
    582. Installing & Using TypeScript
    583. Exploring the Base Types
    584. Working with Array & Object Types
    585. Understanding Type Inference
    586. Using Union Types
    587. Understanding Type Aliases
    588. Functions & Function Types
    589. Diving Into Generics
    590. A Closer Look At Generics
    591. Creating a React + TypeScript Project
    592. Working with Components & TypeScript
    593. Working with Props & TypeScript
    594. Adding a Data Model
    595. Time to Practice: Exercise Time!
    596. Form Submissions In TypeScript Projects
    597. Working with refs & useRef
    598. Working with "Function Props"
    599. Managing State & TypeScript
    600. Adding Styling
    601. Time to Practice: Removing a Todo
    602. The Context API & TypeScript
    603. Summary
    604. Bonus: Exploring tsconfig.json

  Chapter 33: Optional: React Summary & Core Feature Walkthrough
    605. Module Introduction
    606. What Is React & Why Would You Use It?
    607. React Projects - Requirements
    608. Creating React Projects
    609. Out Starting Project
    610. Understanding How React Works
    611. Building A First Custom Component
    612. Outputting Dynamic Values
    613. Reusing Components
    614. Passing Data to Components with Props
    615. CSS Styling & CSS Modules
    616. Exercise & Another Component
    617. Preparing the App For State Management
    618. Adding Event Listeners
    619. Working with State
    620. Lifting State Up
    621. The Special "children" Prop
    622. State & Conditional Content
    623. Adding a Shared Header & More State Management
    624. Adding Form Buttons
    625. Handling Form Submission
    626. Updating State Based On Previous State
    627. Outputting List Data
    628. Adding a Backend to the React SPA
    629. Sending a POST HTTP Request
    630. Handling Side Effects with useEffect()
    631. Handle Loading State
    632. Understanding & Adding Routing
    633. Adding Routes
    634. Working with Layout Routes
    635. Refactoring Route Components & More Nesting
    636. Linking & Navigating
    637. Data Fetching via loader()s
    638. Submitting Data with action()s
    639. Dynamic Routes
    640. Module Summary
    641. Module Resources

  Chapter 34: Course Roundup
    642. Course Roundup
    643. Bonus!

  Chapter 35: Course Update & Old Course Content
    644. Course Update Overview, Explanation & Migration Guide
    645. Old Course Content Download

  Chapter 36: [BONUS / OPTIONAL] React Basics & Working With
    Components
    646. About these [BONUS / OPTIONAL] sections
    647. Module Introduction
    648. What Are Components? And Why Is React All About Them?
    649. React Code Is Written In A "Declarative Way"!
    650. Creating a new React Project
    651. The Starting Project
    652. Analyzing a Standard React Project
    653. Introducing JSX
    654. How React Works
    655. Building a First Custom Component
    656. Writing More Complex JSX Code
    657. Adding Basic CSS Styling
    658. Outputting Dynamic Data & Working with Expressions in
         JSX
    659. Passing Data via "props"
    660. Alternative Ways of Passing & Receiving / Handling
         "props"
    661. Adding "normal" JavaScript Logic to Components
    662. Splitting Components Into Multiple Components
    663. The Concept of "Composition" ("children props")
    664. A First Summary
    665. A Closer Look At JSX
    666. Organizing Component Files
    667. An Alternative Function Syntax
    668. Module Resources

  Chapter 37: [BONUS / OPTIONAL] Time to Practice: Component
    Basics
    669. Module Introduction
    670. The Starting Project & Your Tasks
    671. Exercise Hints
    672. Outputting Key Concepts Data
    673. Identifying Possible Components
    674. Creating & Using a Custom Component
    675. Outsourcing Concept Items Into a Reusable Component
    676. Module Resources

  Chapter 38: [BONUS / OPTIONAL] React State & Working with
    Events
    677. Module Introduction
    678. Listening to Events & Working with Event Handlers
    679. How Component Functions Are Executed
    680. Working with "State"
    681. A Closer Look at the "useState" Hook
    682. State can be updated in many ways!
    683. Adding Form Inputs
    684. Listening to User Input
    685. Working with Multiple States
    686. Using One State Instead (And What's Better)
    687. Updating State That Depends On The Previous State
    688. Alternative: Creating A Shared Handler Function
    689. Handling Form Submission
    690. Adding Two-Way Binding
    691. Child-to-Parent Component Communication (Bottom-up)
    692. Lifting The State Up
    693. Derived / Computed State
    694. Controlled vs Uncontrolled Components & Stateless vs
         Stateful Components
    695. Module Resources

  Chapter 39: [BONUS / OPTIONAL] Rendering Lists & Conditional
    Content
    696. Module Introduction
    697. Rendering Lists of Data
    698. Using Stateful Lists
    699. Understanding "Keys"
    700. Outputting Conditional Content
    701. Adding Conditional Return Statements
    702. Demo App: Adding a Chart
    703. Adding Dynamic Styles
    704. Wrap Up & Next Steps
    705. Fixing a Small Bug
    706. Module Resources

  Chapter 40: [BONUS / OPTIONAL] Time to Practice: A Complete
    Practice Project
    707. Module Introduction
    708. The First Practice Project & Your Tasks
    709. Exercise Hints
    710. Splitting the App Into Components
    711. Handling Events
    712. Managing State
    713. Lifting the State Up
    714. Outputting Results Conditionally
    715. Adding CSS Modules
    716. Fixing a Small Bug
    717. Introducing the Second Project
    718. Exercise Hints
    719. Adding a "User" Component
    720. Adding a re-usable "Card" Component
    721. Adding a re-usable "Button" Component
    722. Managing the User Input State
    723. Adding Validation & Resetting Logic
    724. Adding a Users List Component
    725. Managing a List Of Users via State
    726. Adding The "ErrorModal" Component
    727. Managing the Error State
    728. Module Resources


  DATES
  Published    : 2017-10-24
  Last Updated : 2026-01-16

If you fear the truth, don?t come to my well.

Files

PathSize
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.40,00 KB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.421,28 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.667,57 MB
udemy.react.the.complete.guide.incl.next.js.redux.2026.bookware-mimir.6,89 KB