React Training Course

English + Hindi + Tamil + Telugu
Batch Size
160 hours
Request Training Proposal

Course Contents

The main objective of this React course is to help the learners become familiar with the process and gain skills needed to become professional React developers. 

In this course the learners will gain knowledge on fundamentals of React, learn to build React components and structure applications with Redux.

React - (incl. Hooks, React Router and Redux)
Chapter 1: Getting Started
 Introduction
 What is React?
 Real-World SPAs React Web Apps
 Writing our First React Code
 Why Should we Choose React?
 React Alternatives
 Understanding Single Page Applications and Multi Page Applications
 Course Outline
Chapter 2: Refreshing Next Generation JavaScript
 Module Introduction
 Understanding "let" and "const"
 Arrow Functions
 Exports and Imports
 Understanding Classes
 Classes, Properties and Methods
 The Spread Rest Operator
 Destructuring
 Reference and Primitive Types Refresher
 Refreshing Array Functions
 Wrap Up
Chapter 3: Understanding the Base Features Syntax
 Module Introduction
 The Build Workflow
 Using Create React App
 Understanding the Folder Structure
 Understanding Component Basics
 Understanding JSX
 JSX Restrictions
 Creating a Functional Component
 Working with Components Re-Using Them
 Outputting Dynamic Content
 Working with Props
 Understanding the Children Property
 Understanding Using State
 Handling Events with Methods
 Manipulating the State
 Using the useState() Hook for State Manipulation
 Stateless vs Stateful Components
 Passing Method References between Components
 Adding Two Way Binding
 Adding Styling with Stylesheets
 Working with Inline Styles
Chapter 4: Working with Lists and Conditionals
 Module Introduction
 Rendering Content Conditionally
 Handling Dynamic Content "The JavaScript Way"
 Outputting Lists (Intro)
 Outputting Lists
 Lists State
 Updating State Immutably
 Lists Keys
 Flexible Lists
Chapter 5: Styling React Components Elements
 Module Introduction
 Outlining the Problem Set
 Setting Styles Dynamically
 Setting Class Names Dynamically
 Adding and Using Radium
 Using Radium for Media Queries
 Introducing Styled Components
 More on Styled Components
 Styled Components Dynamic Styles
 Working with CSS Modules
 CSS Modules Media Queries
Chapter 6: Debugging React Apps
 Module Introduction
 Understanding Error Messages
 Finding Logical Errors by using Dev Tools Sourcemaps
 Working with the React Developer Tools
 Using Error Boundaries (React 16+)
Chapter 7: Diving Deeper into Components React Internals
 Module Introduction
 A Better Project Structure
 Splitting an App into Components
 Comparing Stateless and Stateful Components
 Class-based vs Functional Components
 class Component Lifecycle Overview
 Component Creation Lifecycle in Action
 Component Updating Lifecycle (for props Changes)
 Component Updating Lifecycle (for state Changes)
 Using useEffect() in Functional Components
 Controlling the useEffect() Behavior
 Cleaning up with Lifecycle Hooks useEffect()
 Cleanup Work with useEffect() - Ex
 Using shouldComponentUpdate for Optimization
 Optimizing Functional Components with React.memo()
 When should you optimize?
 PureComponents instead of shouldComponentUpdate
 How React Updates the DOM
 Rendering Adjacent JSX Elements
 Using React.Fragment
 Higher Order Components (HOC) - Introduction
 Another Form of HOCs
 Passing Unknown Props
 Setting State Correctly
 Using PropTypes
 Using Refs
 Refs with React Hooks
 Understanding Prop Chain Problems
 Using the Context API
 contextType useContext()
Chapter 8: A Real App: The Burger Builder (Basic Version)
 Module Introduction
 Planning an App in React - Core Steps
 Planning our App - Layout and Component Tree
 Planning the State
 Setting up the Project
 Creating a Layout Component
 Starting Implementation of the Burger Builder Container
 Adding a Dynamic Ingredient Component
 Adding Prop Type Validation
 Starting the Burger Component
 Outputting Burger Ingredients Dynamically
 Calculating the Ingredient Sum Dynamically
 Adding the Build Control Component
 Outputting Multiple Build Controls
 Connecting State to Build Controls
 Removing Ingredients Safely
 Displaying and Updating the Burger Price
 Adding the Order Button
 Creating the Order Summary Modal
 Showing Hiding the Modal (with Animation!)
 Implementing the Backdrop Component
 Adding a Custom Button Component
 Implementing the Button Component
 Adding the Price to the Order Summary
 Adding a Toolbar
 Using a Logo in our Application
 Adding Reusable Navigation Items
 Creating a Responsive Sidedrawer
 Working on Responsive Adjustments
 More about Responsive Adjustments
 Reusing the Backdrop
 Adding a Sidedrawer Toggle Button
 Adding a Hamburger Icon
 Improving the App: Introduction
 Prop Type Validation
 Improving Performance
 Using Component Lifecycle Methods
 Changing the Folder Structure
Chapter 9: Reaching out to the Web (Http / Ajax)
 Module Introduction
 Understanding Http Requests in React
 Understanding our Project and Introducing Axios
 Creating Http Request to GET Data
 Rendering Fetched Data to the Screen
 Transforming Data
 Making a Post Selectable
 Fetching Data on Update (without Creating Infinite Loops)
 POSTing Data to the Server
 Sending a DELETE Request
 Fixing a Bug
 Handling Errors Locally
 Adding Interceptors to Execute Code Globally
 Setting a Default Global Configuration for Axios
 Creating and Using Axios Instances
Chapter 10: Burger Builder Project: Accessing a Server
 Module Introduction
 Creating the Firebase Project
 Creating the Axios Instance
 Sending a POST Request
 Displaying a Spinner while Sending a Request
 Handling Errors
 Retrieving Data from the Backend
 Removing Old Interceptors
 Chapter 11 : Multi-Page-Feeling in a Single-Page-App: Routing
 Module Introduction
 Routing and SPAs
 Setting up Links
 Setting Up the Router Package
 Preparing the Project for Routing
 Setting Up and Rendering Routes
 Rendering Components for Routes
 Switching Between Pages
 Using Links to Switch Pages
 Using Routing-Related Props
 The "withRouter" HOC Route Props
 Absolute vs Relative Paths
 Styling the Active Route
 Passing Route Parameters
 Extracting Route Parameters
 Using Switch to Load a Single Route
 Navigating Programmatically
 Additional Information Regarding Active Links
 Understanding Nested Routes
 Creating Dynamic Nested Routes
 Redirecting Requests
 Conditional Redirects
 Using the History Prop to Redirect (Replace)
 Working with Guards
 Handling the 404 Case (Unknown Routes)
 Loading Routes Lazily
 Lazy Loading with React Suspense (16.6)
 Routing and Server Deployment
Chapter 12: Adding Routing to our Burger Project
 Module Introduction
 Building the Checkout Container
 Setting Up Routing Routes
 Navigating to the Checkout Page
 Navigating Back To Next Page
 Passing Ingredients via Query Params
 Navigating to the Contact Data Component
 Order Submission Passing Data between Pages
 Adding an Orders Page
 Implementing Navigation Links
 Fetching Orders
 Outputting the Orders
Chapter 13 : Forms and Form Validation
 Module Introduction
 Analyzing the App
 Creating a Custom Dynamic Input Component
 Setting Up a JS Config for the Form
 Dynamically Create Inputs based on JS Config
 Adding a Dropdown Component
 Handling User Input
 Handling Form Submission
 Adding Custom Form Validation
 Fixing a Common Validation Gotcha
 Adding Validation Feedback
 Improving Visual Feedback
 Handling Overall Form Validity
Chapter 14: Redux
 Module Introduction
 Understanding State
 The Complexity of Managing State
 Understanding the Redux Flow
 Setting Up Reducer and Store
 Dispatching Actions
 Adding Subscriptions
 Connecting React to Redux
 Connecting the Store to React
 Dispatching Actions from within the Component
 Assignment 4: Time to Practice – Dispatching actions
 [OPTIONAL] Dispatching Actions Assignment Solution
 Passing and Retrieving Data with Action
 Switch-Case in the Reducer
 Updating State Immutably
 Updating Arrays Immutably
 Outsourcing Action Types
 Combining Multiple Reducers
 Understanding State Types
Chapter 15: Adding Redux to our Project
 Module Introduction
 Installing Redux and React Redux
 Basic Redux Setup
 Finishing the Reducer for Ingredients
 Connecting the Burger Builder Container to our Store
 Working on the Total Price Calculation
 Redux UI State
 Adjusting Checkout and Contact Data
Chapter 16: Redux Advanced
 Module Introduction
 Adding Middleware
 Using the Redux Devtools
 Executing Asynchronous Code: Introduction
 Introducing Action Creators
 Action Creators Async Code
 Handling Asynchronous Code
 Restructuring Actions
 Where to Put Data Transforming Logic?
 Using Action Creators and Get State
 Using Utility Functions
 A Leaner Switch Case Statement
 An Alternative Folder Structure
 Diving Much Deeper
Chapter 17: Redux Advanced: Burger Project
 Module Introduction
 Installing the Redux Devtools
 Preparing the Folder Structure
 Creating Action Creators
 Executing Asynchronous Code
 Fetching Ingredients Asynchronously
 Initializing Ingredients in the BurgerBuilder
 Changing the Order of our Ingredients Manually
 Adding Order Actions
 Connecting Contact Data Container Actions
 The Order Reducer
 Working on Order Actions
 Redirect to Improve UX
 Combining Reducers
 Handling Purchases Updating the UI
 Resetting the Price after Purchases
 Fetching Orders (via Redux)
 Checking our Implemented Functionalities
 Refactoring Reducers
 Refactoring Reducers Continued
Chapter 18: Adding Authentication to our Burger Project
 Module Introduction
 Understanding Authentication in Single Page Applications
 Required App Adjustments
 Adding an Auth Form
 Adding Actions
 Getting a Token from the Backend
 Adding Sign-In
 Storing the Token
 Adding a Spinner
 Logging Users Out
 Accessing Protected Resources
 Updating the UI Depending on Auth State
 Adding a Logout Link
 Forwarding Unauthenticated Users
 Redirecting the User to the Checkout Page
 Persistent Auth State with localStorage
 Fixing Connect + Routing Errors
 Ensuring App Security
 Guarding Routes
 Displaying User Specific Orders
Chapter 19: Improving our Burger Project
 Module Introduction
 Fixing the Redirect to the Frontpage
 Using updateObject in the Entire App
 Sharing the Validation Method
 Using Environment Variables
 Removing console.log()s
 Adding Lazy Loading
Chapter 20 : Testing
 Module Introduction
 What is Testing?
 Required Testing Tools
 What To Test?
 Writing our First Test
 Testing Components Continued
 Jest and Enzyme Documentations
 Testing Components Correctly
 Testing Containers
 How to Test Redux
Chapter 21: Deploying the App to the Web
 Module Introduction
 Deployment Steps
 Building the Project
 Example: Deploying on Firebase
Chapter 22: Bonus: Working with Webpack
 Module Introduction
 Introducing Webpack
 How Webpack works
 Basic Workflow Requirements
 Project npm Setup
 Creating a Basic Folder File Structure
 Creating the Basic React Application
 Installing Production Dependencies
 Setting Up the Basic Webpack Config
 Adding File Rules Babel
 Loading CSS Files
 Loading Images Injecting into HTML Page
 Production Workflow Wrap Up
Chapter 23: Bonus: Next.js
 Module Introduction
 Understanding Server Side Rendering
 Setting up a Project
 Understanding the Basics
 Next.js Components Pages
 Styling our App in Next.js
 Handling (404) Errors
 A Special Lifecyle Hook
 Deploying our App
Chapter 24: Bonus: Animations in React Apps
 Module Introduction
 Preparing the Demo Project
 Using CSS Transitions
 Using CSS Animations
 CSS Transition Animations Limitations
 Using ReactTransitionGroup
 Using the Transition Component
 Wrapping the Transition Component
 Animation Timings
 Transition Events
 The CSSTransition Component
 Customizing CSS Classnames
 Animating Lists
 Alternative Animation Packages
Chapter 25: Bonus: A Brief Introduction to Redux Saga
 Module Introduction
 Installing Redux Saga
 Creating our First Saga
 Hooking the Saga Up (to the Store and Actions)
 Moving Logic from the Action Creator to a Saga
 Moving More Logic Into Sagas
 Handling Authentication with a Saga
 Handling Auto-Sign-In with a Saga
 Moving the BurgerBuilder Side Effects into a Saga
 Moving the Orders Side Effects into Sagas
 Why Sagas can be Helpful
 Diving Deeper into Sagas
Chapter 26: React Hooks
 Introduction
 What are "React Hooks"?
 The Starting Project
 Getting Started with useState()
 More on useState() State Updating
 Array Destructuring
 Multiple States
 Rules of Hooks
 Passing State Data Across Components
 Sending Http Requests
 useEffect() Loading Data
 Understanding useEffect() Dependencies
 More on useEffect()
 What's useCallback()?
 Working with Refs useRef()
 Cleaning Up with useEffect()
 Deleting Ingredients
 Loading Errors State Batching
 Understanding useReducer()
 Using useReducer() for the Http State
 Working with useContext()
 Performance Optimizations with useMemo()
 Getting Started with Custom Hooks
 Sharing Data Between Custom Hooks Components
 Using the Custom Hook
Chapter 27: Using Hooks in the Burger Builder
 Introduction
 Converting
 Routing with React.lazy()
 Converting the Layout Component
 Converting withErrorHandler HOC
 Adjusting the Order Checkout Containers
 Add Hooks to ContactData
 Converting the BurgerBuilder Container
 Adjusting Auth Logout Components
 Using React.memo() More!
 Adding a Custom Error Handling Hook
 Setting the right useEffect() Dependencies
 Working with useSelector() and useDispatch()
Chapter 28: Bonus: Replacing Redux with React Hooks
 Module Introduction
 Starting Project Why You Would Replace Redux
 Alternative: Using the Context API
 Toggling Favorites with the Context API
 Context API Summary (and why NOT to use it instead of Redux)
 Getting Started with a Custom Hook as a Store
 Finishing the Store Hook
 Creating a Concrete Store
 Using the Custom Store
 Custom Hook Store Summary
 Optimizing the Custom Hook Store
Chapter 29: Bonus: Building the Burger CSS
 Building the Burger CSS Code

Javascript knowledge is mandatory. Knowledge of HTML, CSS is desirable.

Instructor Profile


Expert trainer in, MVC, Angular, ReactJS, SQL Server with over a decade of experience. Expertise in Leadership, Team Building, and end-to-end project delivery.

This course includes:

  • 100% Online Sessions
  • Instructor led
  • Customizable Syllabus
  • Customizable Schedule
  • Certificate of Completion
  • Training Recordings
  • Training Resources
  • Learner Assessment
Request Training Proposal

StepUpwards Training Requirement Form

Please complete this form so we can get back to you with a training proposal.

By clicking "Submit", you agree to our Terms of Use , Privacy Policy and Service Agreement

Individuals younger than 18 years of age, but of the required age for consent to use online services, as per applicable law in their country of residence may set up an account and enroll in appropriate courses through their parent or guardian. Individuals younger than the required age for consent to use online services may not use the Services offered by StepUpwards Platform. For more details, please refer to our Privacy Policy.

Related courses


React JS


Utkarsh Mehta

View Course

ReactJS for Full Stack


Utkarsh Mehta

View Course