
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.
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.
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.
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.
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.
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.
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.
Explore how useMemo and useCallback optimize component performance by memoizing parity calculations and callbacks, controlled by a dependency array to avoid unnecessary re-runs.
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.
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.
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.
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.
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 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 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.
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.
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.
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.
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.
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.
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.
Discover the true identity of JSX by seeing how Babel converts JSX into React.createElement, with a focus on props, type, key, and the resulting virtual node.
Learn to render a dynamic list from an array with stable, unique keys. Convert items to objects with an id, and apply alternating colors using index parity.
Convert a single record into a list by iterating with a for-in loop, rendering each property name and value in li items with alternating colors and skipping id.
Pin a record by converting its boolean to a string, build a pinned array with forEach and unshift, and lift the pinned item to the top, displaying a pin icon.
Explore how closure preserves data for future use by tying a fetch to Numbers API with an abort controller and a 200 millisecond timeout, via setup and cleanup in useEffect.
Learn how to use the useState hook in React by creating a learn-hooks component, declaring a state value and setter, and wiring an event handler to trigger a re-render.
Explore how closure and function scope govern component state, including the initial scope, a delayed event handler, and how stale state can persist and cause memory leaks.
Use the useMemo hook to memorize the parity of count across renders, reusing the value until count changes. Specify a dependency array to re-evaluate the memoized parity whenever count updates.
Explores building an interactive multi-menu UI with JSX, map over data, for-in content, open/close controls, and state strategies (useState and useImmer) to improve rendering via child components.
Apply fundamentals by building a reusable React button component with identical syntax to the native button, supporting children, onClick, types (default, success, error), disabled, and long width.
Master suspense and lazy loading by conditionally rendering a child component with a boolean state, using React lazy and suspense to load on demand.
Create independent menu components with their own state to prevent rerendering. Render menus with map and pass title and content as props, starting with the first menu open.
Discover how start transition defers state updates to render non-blocking transitions, enabling interruption and cancellation while ensuring restarts use the latest values to prevent race conditions.
Explore useReducer by consolidating state updates in a reducer, triggered with dispatch and an action object; learn the reducer function, updater function pattern, and cases like increment, decrement, reset, rotate.
Build a to-do list with add, edit, and delete using a dedicated item component and local edit mode, preparing to switch to a reducer in the next lesson.
Discover how the useEffect hook automatically runs a setup function, re-executed when count changes via the dependency array, and cleans up with a closure-based cleanup function.
Use useEffect to retrieve remote data with axios from a dummy JSON API, replace fetch with the axios get method, then setTodo with the response and manage id driven loading.
Learn to implement a fade-out exit animation for list items by wiring a delete button, delaying removal with a timeout, and refactoring with a custom hook.
In this lesson, we will show you how to use Vue CLI 3.
In this lesson, we will analyze the file structure of the Vue app created by Vue CLI 3.
Analysis of the APP we are about to create.
Install and configure the iview UI library via npm in main.js, importing iview and iview.css. Create three pages—introduction, spec, history—that share a gallery component and adjust router and navbar.
Create and connect the gallery, introduction, history, and spec pages, display brand and model from store state via the eye view card, and iterate the spec with v-for and keys.
Summary of the app we just created.
In this lesson, we will show you how to set up a new Nuxt program. We will show you two options: starter template and the new Nuxt scaffolding tool.
You will also learn how to use the dev server, production server and output program as static files.
In this lesson, we will show you how nuxt generates its homepage. You will learn the working mechanism of nuxt. At the end of this lesson, we will do a comparison between nuxt and the vue program we created using vue cli 3. So if you skipped the Vue section, make sure you watch it before starting this lesson.
In this lesson, we will show you how to create a universal header and footer. Every page will automatically inherit them. Watch this lesson to find out how.
Nuxt offers us a default error page. In this lesson, we will show you how to create our own error page.
There will be a conflict between the default layout file and the error layout file. Watch this lesson to find out how to solve this problem.
In this lesson, we will create a custom layout for our normal pages by applying what we have learned in the previous lessons.
Create and integrate header, main, and footer components into the layout, resolve reserved name conflicts by capitalization, and add a navigation bar with links and hover styles.
Create a gallery component in a Nuxt.js page by moving images to assets, displaying brand and model with an image tag, and set 15px left and right padding in Mainview.
In this lesson, we will show you how to create and register universal CSS.
We will use fontawesome as the icon library. But we want to install fontawesome via CDN. Watch this lesson to find out how.
In this lesson, we will show you the difference between static and assets.
In this lesson, we will show you how to install a UI library. We will use bootstrap as example. We will show you two installation methods.
At this moment, our Nuxt program has three pages: the homepage, the resource page and the UI page.
All these three pages have the same title. This is because they all inherit the same head setting from the nuxt config file.
In this lesson, we will show you how to set custom head info for each page.
In this lesson, we will show you how to use VueX in Nuxt.
In this lesson, we will show you how to set mutation methods and reset state properties.
Starting from this lesson, we will show you how to use Nuxt router.
Nested route enables us to create one page using two page files. Watch this lesson to find out how.
In this lesson, we will show you how to set and style the nuxt-link tag.
In this lesson, we will show you how to keep the active nuxt-link tag highlighted.
In this lesson, we will show you how to create a transition effect when switching pages. We will also show you how to use animate.css.
In this lesson, we will show you how to create dynamic routes and pass data using params.
In this lesson, we will still show you how to create dynamic routes. But this time, we will do it using directories.
In our previous lessons, we have learned nested routes and dynamic routes. In this lesson, we will combine them together and learn how to use dynamic nested routes.
Data passed via URL can be reset by anybody. Therefore, it is very important we check them before use. The validate method is what Nuxt offers us to check data passed by URL.
Learn to implement nested routes in Nuxt.js by converting the index into a parent page, sharing the upper layout, and creating three child pages for spec, history, and introduction.
The download link:
https://drive.google.com/file/d/1fBJAW3nx6I8Rt_TEvukTBgkux8FVL7gx/view?usp=sharing
Create a home page listing all cars with links to each introduction page via the car index, and implement a shared parent validate method to verify id values.
Starting from this lesson, we will enter a new era of our nuxt study: the CONTEXT era. You can think of context as the nuxt equivalency of Vue this, only more powerful.
Context gives us access to every corner of the Nuxt program, including Nuxt router, VueX, Nuxt modules, etc.
In this lesson, we will show you how to create and register middlewares. You will also learn a few quirks and features of middlewares.
In this lesson, we will show you how to operate Nuxt router using context in middleware.
In this lesson, we will show you how to operate VueX using context in middleware.
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.