
Understanding how a component is created in React and used as custom HTML tag. Also learn about the concept of "props".
Creating & understanding React 17 project architecture.
Learn the practical difference between npm and npx by running a tiny package, showing how npm installs packages while npx executes and uninstalls them.
Learn how to migrate a React 17 project to React 18 by upgrading npm packages (react and react-dom) and adopting createRoot api with react-dom to render the app.
Explore the concept of state in a functional component using the useState hook, and learn to increment and render the state with a setter function.
Learn lazy initialization of useState by using a function to compute the initial state, avoiding costly work during re-renders.
Learn how jsx embeds html in javascript, use curly braces for dynamic values and expressions, apply inline styling and camel case attributes, and understand how React.createElement powers jsx.
Learn to manage multiple states with the useState hook, including boolean flags and object literals, toggle values, display booleans, and update state safely with the spread operator.
Explore class components in React and how they differ from functional components. Learn to convert a functional component to a class component, implement render, and declare state.
Learn how to update a class component's state with setState using an updater function or a change object, including callbacks and the rendering implications.
Explore class components in React, their mounting, updating, and unmounting lifecycle methods, with render and componentDidMount examples. Understand shouldComponentUpdate and how to place Ajax calls in componentDidMount.
Explore the useEffect hook in functional components, mapping lifecycle methods and managing side effects. Create a digital clock that updates every second with setInterval inside useEffect.
Explore how useEffect handles multiple states and how to optimize performance by skipping effects with a dependency array, watching specific state changes like counter.
Demonstrate conditional rendering with a toggle to show or hide a component that tracks mouse X and Y coordinates using useState and useEffect with a cleanup function.
Explore the ref attribute in React, its role to access DOM nodes or elements, with examples of focusing inputs and converting from class-based to functional components using hooks.
Explore how to create and use React.createRef for DOM elements, wiring it in a constructor, assigning to an input via ref, and triggering focus with current.
Loop through data collections and render them on the screen using the map method, handling primitive arrays like numbers and strings, as well as arrays of objects in React rendering.
Understand map method: it uses a callback to traverse an array, returns a new array, and preserves the original. It handles element, index, and optional array with arrow-function syntax.
Render a string array in a React component using useState and destructuring, then display each item as a list item with map, noting the need for a unique key prop.
Refactor array rendering by moving the map() over data into a separate function and assign its JSX to a variable, then display the product list to simplify larger React applications.
Dive into props and JSX with deeper combinations and tweaks. Learn how content becomes props via the children property and reference it within components for the React eStore project.
Explore how to pass attributes as props in a React component, use expressions and string literals, and render values, dates, and math results with or without curly braces.
Explore how React props default to true when no value is passed, demonstrate passing false and converting to string to reveal the output in a demo app.
Learn how to pass props with the spread operator in React, compare passing an entire object versus explicit props, and destructure inside the component.
Explore how a custom component receives content via the props.children property, access it as props.children, and display nested elements like div and input to understand high-order component scenarios.
Master event handling in React.js by exploring basics, form and input events, and real-world controls like textbox, checkboxes, and dropdowns, with best practices for UI communication.
Learn how React events use camelCase names like onClick, place handlers in curly braces, and avoid parentheses to prevent immediate calls, including returning a function to pass parameters.
Master synthetic events in React by inspecting the event object passed to onClick handlers, accessing e.target and innerHTML to retrieve element content, while noting cross-browser compatibility.
Wire an input type text to an onChange event, updating state with the event target value via useState. See the h1 update live as you type, including backspace.
Learn to prevent the default form submission in React by calling e.preventDefault, see how the form data stays intact, and understand why return false does not stop default behavior.
Create a multi-field React form by implementing individual useState hooks for first name, last name, and mobile, with onChange handlers and a submit action that displays data below.
Implement a single input change handler in React by using dynamic keys with ES6 square brackets, allowing first name, last name, and mobile to share one handler instead of multiple.
Learn to update state with functional updates and handle checkbox and radio inputs using the checked property, not value, and build a form that displays data on submit.
Explore the inline if-else (ternary operator) in React to render components inside JSX, using condition ? true : false, and compare readability to traditional if statements.
Use an element variable to hold JSX by assigning the map output to a variable such as prodItems, keeping code organized and enabling the variable to represent multiple HTML elements.
Learn how to use the logical && operator for conditional rendering in React, rendering JSX only when a condition is true, with examples like admin checks and unread messages.
Explore the differences between MPAs and SPAs with React Router v6, building a dynamic single page app featuring home, about, products, and item details via state data.
Format the menu to remove underlines, align links on a single line with inline styling and a style object, and introduce basic routing concepts for URLs and roots.
Use dynamic routes with the useParams hook to extract the product id from the url and render a single product detail page for any selected product.
Explore nested routes in React Router version six, using an outlet to render child components and keep a persistent submenu while navigating product details.
Configure a not found route in React Router v6 using the asterisk path to render the not found component for invalid urls, and verify the 404 page across navigation.
Configure nested routes as children of a main route using the index attribute to refer to the parent route, with index defaulting to true.
Explore converting fixed product data into a dynamic dataset with useState, map over products to render links, and configure dynamic routes like /products/{id} using template literals.
Pass data to a child via the context attribute on an outlet. Retrieve it with the use outlet context hook, and display the selected product details.
Attach CSS and apply classes to create product cards with images, names, prices, and shipping details, then navigate the e-store with react router v6 while updating product details via state.
NavLink in React Router offers advanced styling for active links by using a function that receives isActive and returns a CSS or JavaScript object to style active and inactive states.
See how the not found component renders when no link matches and how to redirect to the home or dashboard using the navigate component.
Master the useNavigate hook to programmatically navigate after form submission in a React eStore project, using useEffect and setTimeout to delay and manage URLs.
This lecture explains multi-page applications and single-page applications, contrasts server-side and client-side rendering, and shows how React Router enables seamless navigation in a single-page application.
Master route matching with the Switch component and the exact attribute to achieve precise path matching. Understand root path behavior and how Switch renders the first match only.
Learn to implement route parameters and dynamic routes in React Router using useParams to read the title from the URL and render a tutorials detail page at /tutorials/:title.
Learn to implement nested routes in a React app using switch and dynamic paths, access the match object with useRouteMatch, and render tutorial details via useParams.
Explore using context API to make the total global across cart and total components in App.js, addressing prop drilling with a dropdown-driven update.
Create separate cart and total components and pass their state through props. Explore prop drilling and plan to make total a global value via the context api.
See how the useContext hook replaces the consumer for simple access to the nearest context provider, returning the current context value and updating the cart total.
Set up a redux-demo application with React Redux, build purchase, cart, and total components, and display local product data with map for a dropdown.
Create a global Redux store using createStore with a reducer and initial data (products, cart, total), then export the store for use across app components.
Use the useDispatch hook to dispatch actions with a payload to a reducer, updating cart and total in the Redux store through event handling.
Connect a class-based purchase component to the Redux store using connect and mapStateToProps to access global state as props, and prepare for dispatching actions in later steps.
Configure dispatching events in a class component by using mapDispatchToProps and an action creator to dispatch a purchase action with an event payload, wired through connect to Redux.
Explore deleting a cart item in a React Redux app using hooks, dispatching a delete action with index and price, and updating the total via the reducer.
Define action type constants in a single actions file to avoid typos and enable safer dispatch across login, product, and cart reducers, with Redux Toolkit guidance.
Explore how asynchronous processes are handled in Redux, using dispatch and action creators to validate users and fetch data outside the store, while keeping reducers pure.
Implement an asynchronous action creator using setTimeout to simulate API validation, dispatch after two seconds, and introduce Redux Thunk to make dispatch available.
Learn to configure redux-thunk as a middleware, use applyMiddleware with createStore, and handle asynchronous dispatch with thunk for api calls and delayed updates.
In this comprehensive course, we will go through the prior and newer versions of ReactJS with the primary focus on understanding the latest version(18).
The entire course is prepared in a methodical way so that candidates learn & master ReactJS fundamentals through smaller applications, get prepared for interviews & advanced concepts in the simplest of ways.
“React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript library for building user interfaces or UI components.”
Candidates trained by me are now working with fortune 500 companies in the US. This project-based course will make your journey easier in becoming a hands-on React.js developer.
The end of the course has a concise Amazon-like eStore project using MySQL,Express.js,ReactJS,Node.js, which is built with all the latest React techniques like Redux, React Hooks, React Router(SPA), Class & functional components, Axios, Node.js, Express.js, GitHub, payment gateway and more...
As mentioned, the course is completely hands-on from the 1st lecture - making sure you make the most out of each lecture as you progress ahead.
On completion of this course, you’ll be able to handle real-world applications like any other ReactJS developer.
What's in the course?
If you have seen my other courses, you’ll know that we always have sections packed with beginner to advanced level content, so once again it is advised to check the full course curriculum first to get a clear idea of all the topics and then start step by step.
Here's a quick summary of what you'll find in the course:
React fundamentals(version 17)
React Hooks
Standard React practices
Code optimization
List & Keys
Forms
React-Router (SPA - Single-page application)
Context API
Redux
Asynchronous Redux
Redux Toolkit (RTK) - Modern Redux
React with TypeScript
Comprehensive React eStore project
Testing
In the eStore project, you’ll learn the following:
Configuring large projects
Axios
GitHub for source & version control
MySQL installation & working knowledge
Configuring RESTful API with Node.js & Express.js
Creating shopping cart
Configuring payment gateway
I recommend that you have a basic knowledge of HTML, CSS & JavaScript before starting this course.
Take action today and enroll in this comprehensive course.