Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
The Complete Course: React, Vue, Nuxt.js, MongoDB, more!
Rating: 4.6 out of 5(864 ratings)
3,104 students

The Complete Course: React, Vue, Nuxt.js, MongoDB, more!

Master React, Vue 3, Nuxt, MongoDB, Closure, Recursion, Sorting Algorithms, Data Structure, Vite, Tailwind, and More!
Created byOnlyKiosk Tech
Last updated 9/2026
English
English [Auto],

What you'll learn

  • Understand closure and its value for good!
  • Understand recursion for good and be able to use it in real-life situations!
  • Make your JavaScript knowledge foundation air-tight!
  • Become smarter by training your brain using sorting algorithms
  • Master React 19, Vue 3, Nuxt, MongoDB, and sorting algorithms

Course content

31 sections • 782 lectures • 56h 35m total length
  • The React Strategy Explained in 2 Minutes2:04

    Explore how clicking a button updates a page by managing state with a state setter and a component function, revealing React's strategy of automatic updates.

  • The File Hierarchy of React and Its Updating Strategy12:04

    Explore how react's file structure and updating strategy work, from the root div and createRoot to re-rendering with useState hooks, JSX components, and commit phase.

  • Creating Your First React Component7:01

    Create your first React component in a demo project, export it as a pure function, and manage state with useState while avoiding side effects.

  • Event Handler, State Setter, and Every "Edgy" Situation9:35

    Explore how to safely update state with useState, prevent infinite rerenders by wrapping event handlers, observe batching behavior, and use callback setters to derive new state values.

  • "Fool React": Creating an Error Undetectable to React6:02

    learn how react tracks hook identity by order, why all hooks must be declared at the top level, and how conditional hooks can cause render errors and misassigned state.

  • JSX: Controlling Page Elements Like We Never Could Before5:54

    Learn how JSX treats HTML tags as data using components, variables, and state to conditionally render image and heading, and manage arrays with unique keys to shape the dom tree.

  • Creating a List from an Array and an Object7:51

    Create dynamic lists from arrays and objects in a React template by mapping to li elements, using stable keys, and applying inline styles for bold, alternating colors, and count-based highlighting.

  • Always More Complicated: Creating a List that's used in Real-life Projects7:17
  • The Golden Rule: To Display Something New, Set a New State!6:24

    Sort a date-based list by updating React state, convert data to a new items array with the spread operator, and wire ascending and descending buttons with disabled states.

  • Extra Practice: Pin an Item to the Top5:41
  • Extra Practice: Change the List Item Order7:45
  • Challenge: Create a Complicated Menu List9:19

    Build a dynamic menu from a predefined array where each record becomes a sublist with a title and content, using Object.keys and a per-record open/close state.

  • "Algorithm" for React: Creating a Clock5:29

    Create a React clock that updates every second by placing current time in state, using setTimeout for a one-second gap, and formatting minutes and seconds with leading zeros.

  • Challenge: Stopwatch9:34
  • Extra Challenge: Stopwatch + List7:25

    Enhance the stopwatch with a split feature that records split time by subtracting start time from Date.now, stores them in an array, and renders the list via an event handler.

  • Extra Challenge: Countdown Part 15:23

    Create a countdown that updates the remaining time every 0.1 seconds using a remain state and duration, handle countdown with setTimeout and setInterval, and clear timers on new countdowns.

  • Extra Challenge: Countdown Part 24:29

    Diagnose how timer IDs, setInterval, and clearTimeout control page updates and why the second countdown ends prematurely. Explore closure and how using a local variable fixes timer cancellation across countdowns.

  • Extra Challenge: Countdown Part 3 (Closure)6:36

    Explore how closures preserve outer scope data through inner functions, reuse local variables like num, and manage timers with setInterval, setTimeout, and clearTimeout in countdown scenarios.

  • The dependency array, useMemo, and useCallback5:30

    Explore how useMemo and useCallback optimize component performance by memoizing parity calculations and callbacks, controlled by a dependency array to avoid unnecessary re-runs.

  • useEffect5:07

    Master the useEffect hook by placing the setup function at the top level to manage side effects, like document.title, and using the dependency array and cleanup to prevent race conditions.

  • useEffect Application7:27

    Demonstrates using useEffect to sync a component with an external backend via numbers api, using axios to fetch data, manage a waiting notification, and handle dependency-driven updates safely.

  • The clean-up function5:49
  • Component Props12:13
  • momo, lazy, & Suspense14:02

    Boost React efficiency by using memo, lazy, and suspense to minimize rerenders, load components on demand, and manage prop changes, callbacks, and fallbacks during remote component loading.

  • Transition16:55

    Learn to keep the UI responsive during page updates with startTransition and useTransition, show a middle page with a waiting notification, and minimize rerenders by placing transitions in smaller components.

  • Context13:25
  • useReducer5:40

    Learn how to manage a number state with use reducer by defining a pure reducer outside the component, dispatching actions like increment, decrement, and reset, and using step for increments.

  • useReducer Application6:27

    Explore useReducer by managing a dynamic list: implement delete and add actions via a reducer, dispatch actions with index and text, and clear the input after adding.

  • useReducer + Context5:47

    Learn to combine useReducer with context by creating items and dispatch contexts, providing them to components, and building a list and add item components that dispatch delete or add actions.

  • Custom Hook5:13
  • Create a Fade-in Animation Using the Custom Hook Part 13:45

    Experiment with a custom hook to animate new list items using a CSS offset class and an animate state, compare useEffect and useLayoutEffect behaviors for reliable fades.

  • Create a Fade-in Animation Using the Custom Hook Part 23:25

    Create and use a custom hook to render a list with a fade-in animation, manage animate state, and support adding items via a reusable add-item function.

  • Create a Fade-out Animation Using the Custom Hook3:43
  • Challenge: Create a Fade-in and Fade-out Animation Using One Custom Hook4:50

    Create fade in and fade out animations with a single custom hook named use list that maps items into a list and handles delete and add item actions.

  • useAnimationFrame6:55
  • Rethink What the Component Function Can Offer3:48
  • Challenge: Fade-out and Fade-in Together5:31

    Implement a coordinated fade-out and fade-in of an h1 using React hooks, with onClick logic, progress-based opacity, and requestAnimationFrame, including useEffect and useLayoutEffect for timing.

  • Add Fade-out Animation to List Items7:21
  • Make Some Improvements4:49
  • "Reverse" the Canceled Fade-out Animation3:26

    Reverse a canceled fade-out animation in Nuxt.js by using a shared progress, a 1000 ms duration, and requestAnimationFrame to restore the item’s opacity and position.

  • Delete Multiple Items Together1:52

    Learn how to delete multiple items by resetting the item state with a callback, deriving the new state from the previous one, so each delete updates the list correctly.

  • Introduction to React Router1:24

    Explore how React Router loads components based on path to render page-like views, learn why data mode is recommended, and gain unique perspectives and tricks.

  • React Router: Setup8:53

    Set up react router in a react project, install react router and axios, define root and gallery routes with create browser router and router provider, and add an error page.

  • React Router: Nested, Layout, and Prefix Routes5:30

    Create a nested child root with a relative path and render it via outlet inside a gallery, then explore layout routes and how a child loads its components.

  • React Router: NavLink6:01

    Explore how dynamic routes in React Router embed parameters in the URL, read them with useParams, validate ids, and switch displayed images using NavLink with an active style.

  • React Router: SearchParams2:55

    Learn to embed data in the URL via the query string using useSearchParams, retrieve values with URLSearchParams, and display messages or detailed errors on the error page.

  • React Router: Mid-term Practice7:47

    Practice React Router by building a story route with dynamic params, nested routes and outlet, plus a number details component that validates params and offers navigation back.

  • React Router: Loader5:29

    Fetch data for a dynamic number route with a loader and axios, call the numbers API, return detail, and display it via useLoaderData with a loading fallback.

  • React Router: Pending UI6:15
  • React Router: Action8:31
  • React Router: Action Misc3:17

    Fetch data with axios in a React Router flow, using use navigation and try/catch to handle errors, display numbers API text in the action submit component, and show waiting notification.

  • React Router: useSubmit2:21
  • React Router: Fetcher6:01

    Learn to use the fetcher action in React Router to submit data without navigation. Stay on form page and manage state to show a waiting notification and the action result.

  • React Router: Lazy Loading3:17

    Learn lazy loading in React Router by loading the fetcher form component and action only when needed, using dynamic imports, async functions, and Promise.all.

Requirements

  • Basic VueJS knowledge is needed.

Description

Note: We have added EXTRA React, Vue 3, and MongoDB courses.

As an enhanced version of Vue, Nuxt has more functionalities and is also easier to configure. With Nuxt, you can code less but do more.

You don’t have to be a Vue expert to study Nuxt. Just basic Vue knowledge is enough.

In the first section, we will create a Vue app using Vue CLI 3.

The file structure created by Vue CLI 3 is very similar to the one used in Nuxt. They even have the same mechanism of generating pages.

We will recreate the same app using Nuxt and show you the similarities between Vue and Nuxt.

Your previous Vue knowledge can help you quickly understand the working mechanism of Nuxt. Once you have understood how Nuxt works, you can master it in no time.

Our official Nuxt study includes five sections.

1. Nuxt basics

2. Nuxt plugins and modules

3. Nuxt routing system

4. Nuxt context

5. Data exchange with the backend program (Express.js)

At the end of each section, there will be an infographic article to help you review everything you just learned.

Each review is followed by a practice session where you will practice and apply everything you have learned by creating a real app. You will also learn many new skills in this process, including how to handle cookies and create a membership system.

Who this course is for:

  • Developers who want to build a stronger knowledge foundation.
  • Developers who want to take their JavaScript skills to the next level
  • Developers who want to learn React
  • Developers who want to master Vue 3
  • Vue developers who want to master Nuxt
  • Developers who want to master MongoDB