
Explore how JavaScript, a library, builds dynamic, interactive user interfaces with reusable components and jsx, not a framework, using a virtual DOM for updates and supporting single page applications.
Understand what a component is in React, how it uses state and a render method to output UI, and how components form a reusable, hierarchical structure with a virtual DOM.
Set up your React development environment by installing Node.js and npm, installing create-react-app globally, and creating and running a new app with npm start on a local development server.
Learn to build a React app from scratch by creating index.js, importing React and ReactDOM, rendering hello world into root, and understanding JSX, Babel, and the virtual DOM.
Install and configure bootstrap in your React app by adding jquery, popper.js, and bootstrap via npm, import the css and js files, and verify with a bootstrap styled button.
Learn to create components using jsx files, export and import them, and render a NavBar component with a render method. Use div wrappers or React.Fragment to satisfy jsx rules.
Create a global index.css in src, import it in index.js, and apply the highlight class across components; import per-component css in its jsx when needed.
Learn to integrate a bootstrap navbar into a React app by copying the code from bootstrap and pasting it into app.jsx, then customize with the navbar brand and items.
Fix the DOM property class error by using className for css in React, and replace class keywords via find and replace; also replace href '#' with '/#' to create links.
Explore nesting components by creating a navigation bar and a main content component, render them in app.jsx using React.Fragment, and grasp the component hierarchy.
Render dynamic content by storing it in a component's state and displaying it with braces expressions, then update with setState to refresh only changed parts using the virtual DOM.
Explore how React handles events with onClick and other attributes, calling component methods like onRefreshClick. Learn to render dynamic state and respond to clicks by logging actions to the console.
Learn to update a React component's state with setState and binding via an arrow function, and observe the virtual DOM update only the changed property rather than the whole UI.
Render a customer table by storing customers in state and using the array map method to generate rows with id, name, and phone, ensuring each row uses a unique key.
Explore conditional rendering in React by evaluating falsey values like null, undefined, 0, or empty strings to show alternatives such as 'no phone', and render jsx elements for dynamic output.
Refactor complex conditional rendering by moving logic into dedicated methods like get phone to render and get customer row, using arrow functions and this binding to keep render methods readable.
Render images in react by binding photo urls to an img tag with curly braces for src and the alt attribute, using picsum to assign unique images per customer.
Render css styles dynamically in react by assigning an object to the style attribute. Use conditional logic to set background-color green for names starting with s and red for j.
Render css classes in React by replacing inline styles with conditional css classes. Define green-highlight and red-highlight in index.css and apply them dynamically based on a name’s starting letter.
Learn how to pass event arguments in React using arrow functions, accessing the current customer details via map, and update the photo with setState to reflect changes.
Learn to build a shopping cart with nested components by rendering a product component for each product in the cart, using state, map, and parent–child relationships.
Understand how React uses a unique key when rendering lists with map, and how to pass id, name, and price from a parent to a child via props.
Learn how props and state differ in React: props pass data from parent to child and are read-only, while state is local and updatable with setState, enabling flexible component behavior.
Discover how a parent passes content to a child in React using props.children, and render elements like a buy now button inside a child’s card-footer.
Learn to handle child component events in a parent React component by passing onIncrement and onDecrement handlers as props, updating state immutably to adjust product quantities.
Create a per-product delete button using font awesome's fa-times icon wired to a parent handledelete. Clone the products array, splice out the target index, and update state.
Explore React component lifecycles, detailing mounting, updating, unmounting, and error handling phases, and learn how constructor, render, componentDidMount, componentDidUpdate, and componentDidCatch control rendering and data loading.
Explore the mounting phase by tracing constructor, render, and componentDidMount execution, learn proper state initialization, props handling, and why avoid http requests or setState in render.
Explore the updating phase of React lifecycle, where changes to props or state trigger render and componentDidUpdate, diff the virtual dom, and conditionally fetch data to avoid performance issues.
Explore the unmounting phase in React by using componentWillUnmount to clean up when a component is removed or navigates away, including canceling http requests.
Explore how React manages parent and child lifecycles during mounting, updating, and unmounting, using a shopping cart and product components to illustrate lifecycle method order.
Demonstrates the error handling phase in React by using componentDidCatch to capture errors and info (component stack) from child components, logging details to localStorage for debugging.
Demonstrate building a React login form with Bootstrap, including email and password inputs bound to component state. Explain two-way binding via onChange and initializing state in the login component.
Learn how to implement two-way binding in React by syncing text box input to state with onChange and setState, handling asynchronous updates via the event target value.
learn how to build a login form in React by updating state on input changes, checking dummy credentials on submit, and rendering a success or invalid login message.
Learn how ajax fetches data in the background from a json server acting as a fake rest api, and update React state to render products from localhost:5000/products.
Learn how to simplify promise-based code with async and await, using fetch to perform a get request, converting response to json, and updating state with the resulting products array.
Build a dynamic React login form that uses async/await to fetch credentials from an http json server by sending email and password as query parameters and validating by response length.
Create a react app with basic routing using react-router-dom, map paths like /, /dashboard, /customers, and /cart to respective components, render a navbar, and use exact to avoid unintended matches.
Learn how to handle invalid URLs with a 404 page in React routing by creating a no match page, using a wildcard path, and avoiding multiple renders with switch.
wrap routes in a switch to ensure only one route renders at a time, importing switch from React Router, so customers, shopping cart, dashboard, and login pages load correctly.
learn to build a react spa navigation bar using react-router-dom link components for login, dashboard, customers, and shopping cart; routes match app.jsx, with bootstrap container fluid layout.
Highlight the active route in React routing by replacing links with NavLink, using the active className on nav links, with exact true for exact matches, and styling .nav-link.active in index.css.
Store isLoggedIn in app state, pass it to the navbar, and render login or dashboard, customers, and shopping cart links accordingly.
Expose an update is logged in status method in the app component and pass it to the login component via route render to toggle is logged in after successful login.
Programmatically navigate between login and dashboard by creating a global history object with history.js, switching from browserRouter to Router, and using history.replace after a successful login.
Create a logout link in the navbar that shows when logged in, triggers on logout click to prevent default, updates the app's login status, and redirects to login with history.replace('/').
Create a React sidebar component using Bootstrap grid (3/9), render conditionally after login, and navigate with React Router nav links to dashboard, customers, and shopping cart, with active link highlighting.
Navigate product details by route parameters in a shopping cart using a dynamic product by id component. Link to product/:id and fetch data based on the route parameter.
Update the page title by assigning document.title in each component's componentDidMount to reflect the current route (login, dashboard, customers, cart, product) in the e-commerce app.
Discover how hash router enables client-side routing in React by updating the hash without server requests. Compare it to browser router and learn handling history in non-route components.
Execute full CRUD on customers by fetching data from a json-server at localhost:5000/customers with a get request, and render it in the React grid after componentDidMount.
Build a new customer insertion page with a React component and Bootstrap form, manage state for name, city, phone, and photo, then post to the server to insert into database.
Learn to handle network errors in fetch by checking response.ok (status 200–299), displaying error messages with status codes, and reusing the pattern across requests.
Create an update customer component with an id route parameter, fetch and prefill details, enable editing of name, city, address, phone, and photo, then submit changes with a put request.
Add a delete button per customer and implement on delete click to confirm with window.conform, send a delete request, and update state by filtering out the removed customer.
Demonstrates validations in React by building a class-based registration form with email, password, full name, and date of birth, including state management, two-way binding, routing to /register, and bootstrap layout.
implement real-time form validation in React by adding a validate method triggered after setState, managing per-control errors (email, password, full name, date of birth) and rendering them in the ui.
Update the registration validations by populating error arrays for password, full name, and date of birth, and implement a password regex along with a minimum age of 18 check.
Explore React form validation by tracking errors in state, implementing an isValid method invoked on register click, and updating the user interface with messages while only submitting when valid.
Implement per-field dirty flags to show validation messages only for modified fields, update on change or blur, and reveal all errors on submit, with proper autofocus handling.
Implement radio buttons for gender in a registration form using bootstrap: two options (male, female) update state.gender via onChange, validate with errors.gender to prevent blank selection.
Implement a country drop-down in the registration form as a controlled select bound to state.country, with a default 'please select' and validation that the country cannot be blank.
Add a receive newsletters checkbox to a registration form, bind it to component state, update on change, toggle dirty, and trigger validation via a callback.
Learn to display per-field error messages in a React form by conditionally rendering red messages next to inputs using state.errors and dirty checks for email, password, and more.
Submit registration form sends a post request to localhost:5000/users, handles json server response, and validates inputs with regex, displaying errors and success feedback.
Testimony:
"Before I find this course, I was really worried about React. But this course gave me amazing clarity on each concept of React and how does it work really behind the scenes. Instructor explains how does it works apart from how to just do it." - Sridhar Mamidala
"Came here after purchasing top 3 bestseller react courses. I couldn't get redux from those, so purchase this course. Was able to understand Redux, Harsha has explained it in most simplified way. Later went through the other section of the course from the beginning & understood more abt the things already learnt. This course deserves to be the best seller." - Prashant Dhage
"Great Course harsha sir is a great instructor am vary happy to learn from him everything is fine and sir response is good at Q&A section if you are a exact beginner or experienced developer blindly go for it" - Yugesh
"Trainer knowledge is excellent and very descriptive Very well designed course. I can definitely say that I have learned a lot. Now I am working very conveniently on React after taking this course" - Shaik Aleem
"This course is really the next level. It explains everything that I need to know to become expert in React - starting from app creation to react hooks." - Maruti
"Very good practical oriented course." - Susmitha
"This course is amazing. Everything is explained in depth and clear. All the concepts that are explained in theory are built into an interesting and easy ecommerce project to understand where to use which concept." - Bhavani
LEARN these HOT TOPICS in React with Hooks in this course:
Build your own React Class Components
Add Bootstrap to React
Style handling in React
Navbar
Nested Components
Rendering Expressions, Lists, Methods, Images
Handling Component State
Parent-to-child communication
Props vs State
Passing Children to Components
Lifecycle methods
Lifecycle of child components
Forms development in React
REST-API calls using Async and Await
React-router
CRUD operations
Validations
React hooks
Functional Components
useState
useEffect
useContext
useMemo
useRef
useReducer
useCallback
React.memo
Services
Grid development
Redux
React-Redux
Redux-Thunk
Redux Custom Middleware
Redux-Promise
Redux Toolkit
Course Project:
By end of this course, you will have your own eCommerce app where the users can register, login - search, filter shop products - as well as they can see previous orders, can add products to cart, buy products.
The course project is developed using both Class Components and Function Components in React.
Hooks are main highlight of this course - where you will really learn when-to-use which hook, apart from just how to use it.
We will cover class components up to Section 10.
We will cover complete React hooks from Section 11.
The administrator can control what products should be visible to the users.
It is inclusive of grid operations such as Grid CRUD operations, filter, sort and pagination & REST-API calls.
Let's begin React with an eCommerce project.
You will learn React by doing - practically in this project.
About course:
This course is beginner to intermediate level course, where the developer understands React from scratch (basics) to a meaningful app - by practice.
But you will not miss theoretical details. All essential articles that you need to read are available at end of each section.
You create forms, routing and navigation, component hierarchy, communication from parent-to-child components and vice versa, and also hooks etc., and many more in this course.
You will connect to DB server using JSON-server package (third party npm package) that demonstrates how to make HTTP requests to REST-API servers.
In case if you are a UI developer, sticking to JSON-server is recommended.
This course shows development of sophisticated data grid with all features such as sorting, filtering, paging, http requests (REST API calls) etc.
Please note that, this course sticks to React only - doesn't cover any concepts of server side programming.
This course covers Redux, React-Redux, Redux-Promise, Redux-Saga and Redux-Toolkit in detailed with sample projects.
JavaScript - Exra Lectures
To be frank, you might feel little complications if you don't have sound knowledge of JavaScript, while learning some advanced React concepts. But fortunately, in this course, I am proudly providing extra lectures of JavaScript essential concepts that are required to become master in React - i.e. "JavaScript Functions" "JavaScript Objects", "JavaScript Arrays" and "ES6 Classes".
It is guarantee that if you go through these four sections of JavaScript lectures in this course, you will never confuse to learn any advanced concepts of React - even Redux also.
In case if you find any complication in the middle of React / Redux lectures also, you can refer to the specific topic which you are not aware in the JavaScript extra lectures. It's a big gift for React learners.
POTENTIAL BENEFITS OF THIS COURSE
By the end of this course, you will create all of the source code for a decent eCommerce real-time project, with all features like page navigation with routing, CRUD operations with JSON-server, Forms and validations, component communication and also React Hooks.
You will type in every line of code with me in the videos ... all from scratch.
I explain every line of react code that we create. So this isn't a copy/paste exercise, you will have a full understanding of the code.
I am a RESPONSIVE INSTRUCTOR. post your questions and I will RESPOND in 24 hours, ASAP.
All source code is available for download.
English captions are available.
No Risk – Money-Back Guarantee
Finally, there is no risk. You can preview first few lectures of the course for free. Once you buy this course, for some reason if you are not happy with the course, Udemy offers a 30-day money back guarantee.
So you have nothing to lose, sign up for this course and learn how to build React Projects from scratch!
Key Points about this Course:
AJAX (REST-API calls) videos will be shown with JSON-server; no sever side code is shown.
All the concepts explained practically.
We use Bootstrap from the beginning of the course.
Essential articles are included for conceptual understanding of React.
We use Windows O/S, Visual Studio Code, React.
This course is offered by Web Academy by Harsha Vardhan. Any watermark stating "Harsha Web University" is from our old branding and does not represent an academic institution. This course is for educational purposes only and is not affiliated with any university or degree-granting institution.