Master the fundamentals of web application development and deep dive into the elements of ReactJS
In this course, we focus on the field of web application development and describe the processes, algorithms, and tools for one to be a successful practitioner of Node and Express JS. Students will be exposed to development techniques used in the mentioned tools.
Duration
5 days / 40 hours
Level
Intermediate to Advanced
Delivery
100% Online - Instructor Led
- Course CodeRJS101
- AudienceExperienced or entry-level software developers who want to learn how to leverage this powerful and modern web stack.
- LanguageEnglish
- CertificationAwarded by ICTC
Course modules covered in the ReactJS program
Day 1 - Introduction to "Modern (ES5)" JavaScript, Introduction to REACT, Introduction to JSX
Introduction to "Modern (ES5)" JavaScript
- JavaScript Refresher
- Introduction to ES2015 (ES6)
- Basic language features
- Creating variables
- Primitives and wrapper objects in JavaScript
- JavaScript types: Number, String, Boolean, Date
- JavaScript == and false conditions and Triple Equals ===
- Functions, functional programming and nesting functions
- Arrays – Ordered sequence of items
- Indexed property access
- Scope and Context
- JavaScript visibility rules
- Global variables
- Object functions and execution
- Creating Objects with JavaScript literal syntax and constructor functions
- The "this" keyword in JavaScript
- Call, Bind and Apply methods
- Typeof and objects
- Special comparisons for objects
- Key JavaScript built-in objects
Introduction to REACT
- What react is and what it is not
- React concepts
- Component composition
- How react works
- How Virtual DOM works
- How react handles data binding
- Advantages & Limitations of REACT
- Setting up ReactJS Development Environment
- Using Webpack / Babel
Introduction to JSX
- What is JSX
- JSX Elements and their surroundings
- Attributes in JSX
- Nested JSX
- JSX Outer Elements
- Rendering JSX
- HTML attributes in JSX - Class and Id etc
- ReactDOM.render()
- Passing variables to ReactDOM.render()
- The Virtual DOM
- If-else in JSX
- IIFE in JSX for complex logic
- JavaScript expressions
- JSX like attribute, boolean or child expression
- Lab: HelloWorld Application
Day 2 - Creating a simple React Application, Component Life Cycle, Composing Components, Forms, Event handling, Styling React Components & Elements
Creating a simple React Application
- A simple react component with JSX template
- Component structure
- React render
- Pure components
- Functional components
- Class based components
- Why use one or the other
- Component props and property passing
- Props validation with data types
- Limitations of props
- Using state
- When to use state, when to use props
- Global variables
- Testing components
- Lab: HeaderComponent, FooterComponent and ProductListComponent
Component Life Cycle
- Start-up and Mounting Components
- Updating Components
- Unmounting Components
- Calling / Implementing life cycle methods
- Setting Properties
Composing Components
- Components within Components
- Known children and unknown children
- Sibling Components and Key
- Parent and Child Components
- Communication from parent to child
- Communication from child to parent
- Lab: Communication between ProductComponent and ProductListComponent
Forms
- Form components example textbox, textarea, checkbox, radiobutton, select
- Controlled form components
- Uncontrolled form components
- Checkboxes and Radios
- Select box with default selected values
- Form validation
- Lab: ListComponent, AddProductComponent, ModifyProductComponent
Event handling
- React.js Event Handlers
- Synthetic Events
- Form
- Composition
- Focus
- Keyboard
- Mouse
- Clipboard
- Selection
- Touch
- Event Pooling
- Other useful events in React
- Sharing events across the components
- Lab: SeachProductComponent and SortProductComponent
- Lab: ShoppingCartComponent – Add products into shopping cart
Styling React Components & Elements
- CSS and inline styles
- Setting up the react for React bootstrap
- Implementing the react bootstrap components
- Setting Styles Dynamically
- Setting Class Names Dynamically
- Enabling & Using CSS Modules
- Working with Media Queries
Day 3 - Securing React Applications , React Router & Navigation, Introduction to FLUX, Modelling Application State, Actions
Securing React Applications
- JSON Web Tokens (JWT)
- Session State
- Storing the state on the client
- Authentication & Authorization
React Router & Navigation
- Loading the router library
- Router configuration
- Passing and receiving parameters
- React-cookie integration
- Protecting routes on the client
- Lab: Participants Registration
- Lab: Login, Authentication and Authorization
- Lab: Dashboard
- Lab: User Profile, My Products
Introduction to FLUX
- Flux pattern
- Flux Application Architecture
- Rational and MVC comparison
- Data Flow – Action, Dispatcher, Store & View
- Reducer / Action / Store
- Lab: Storing JWT in web store
- Lab: Storing User Profile, My Products in web store
Modelling Application State
- Foreword on Redux - What is Redux?
- Managing App State with Redux
- Reducers
- Containers - Connecting Redux to React
- Implementation of a Container Class
- Containers and Reducers Review
Actions
- Actions and Action Creators
- Binding Action Creators
- Creating an Action
- Consuming Actions in Reducers
- Consuming Actions in Reducers Continued
- Conditional Rendering
- Reducers and Actions Review
Day 4 - Catching Data, Creating a dynamic UI in React, Advanced ReactJS Concepts
Catching Data
- Introduction
- Catching Data with Posts Reducer
- Catching Data with Posts Reducer Continued
- Fetching Data with Lifecycle Methods
- Fetching Data with Lifecycle Methods Continued
Creating a dynamic UI in React
- React Stateful Components
- Keeping components stateless
- Auto binding
- Event Delegation
- React.js Error Handling
Advanced ReactJS Concepts
- Function component
- Destructuring props
- JSX spread attributes
- Merge destructured props with other values
- Conditional rendering
- Children types
- Array as children
- Function as children
- Render prop
- Children pass-through
- Proxy component
- Style component
- Event switch
- Layout component
- Container component
- Higher-order component
- State hoisting
- Controlled input
Day 5 - React Hooks, Introduction to TypeScript, React with TypeScript, Unit Testing
React Hooks
- What are React Hooks
- Introducing the useState Hook
- Introducing the useEffect Hook
- Function components vs Class components
- Fetching Data with useEffect
- Using the useRef Hook
- CRUD app with React Hooks
- Connecting to an API using React Hooks
Introduction to TypeScript
- Environment Setup
- Basic Syntax
- Number, Strings, Arrays, Tuples, Union and Enumerators
- Types, Variables and Operators
- Decision Making and Loops
- Functions and Lambda Expressions
- Generics
- Interface, Classes, Objects and Namespaces
- Modules
- Decorators
- Ambient and Mixins
React with TypeScript
- Introduction
- Functional Components
- Class Components
- Higher Order Components
- Render Props
- Lab: Convert the e-Commerce Solution using TypeScript
Unit Testing
- Tools for Unit Testing
- Jest & Jasmine
- Enzyme
- React Unit Testing
- Testing DOM manipulations
- Testing properties and state
- Simulating Events
- Shallow Rendering
Our Training Methodology
Practical Assignments
We provide hands-on assignments that requires practical implementation.
Virtual Coaching Sessions
Online coaching sessions that happen over the phone, via video, or on a web platform.
1 Year Access to LMS
Get access to learning resources upto 1 year of class completion.
Live Project Experience
Hands-on learning and training gives participants the opportunity to experience real world situations.
Online Assessments
Participants can assess reflect on their own learning and their level/skills.
Free Industry Webinars
Stay current on market research trends, learn best practices through our webinar sessions.
Key Features
- 40 hours of instructor led training
- Fully Online
- Class recording available
- Interactive Learning
- 8 hour Coaching Session
- 100% HRDF SBL-KHAS Claimable!
Pre-Requisites
- General programming experience and knowledge of HTML, CSS and JavaScript.
- Analytical Mindset
- Willingness to self learn online
- We will start from the very basics
- Committed to complete all tasks
Who Should Join
- Professional switching careers
- Web Developers
- IT Engineers
- Students
- New Programmers
Program Key Highlights
40 hours of Remote Online Learning
80 Additional Self Learning Hours
12 Live Hands-on Projects
Certified by International Body
Mentorship with Industry Experts
Designed for Beginners & Professionals
Request for more Information
Your Instructor
Thayanithy Jegan
CTO & Co-Founder of Thulija Technologies,
Certified Trainer and Consultant
Certified Trainer and Consultant
A seasoned technology professional with over 17 years of industry experience as a software developer, solutions architect and technology consultant for major organizations.
Thayanithy Jegan has trained executives and developers in companies such as Maxis, IFCA, SWIFT, PSDC, DHL, Standard Chartered, Infineon Technologies, Siemens and Bank Negara to name a few to break into various technology stacks and as well as data science, big data, and artificial intelligence.
He has led major projects with clients such as Suruhanjaya Syarikat Malaysia (SSM), MYCOID, Kementerian Kerja Raya, Ministry of Education (MOE), Universiti Malaya, Perfisio Solutions, Kementerian Perdagangan Antarabangsa dan Industri, amongst others. He has also served as a Consultant for MIMOS Berhad, a Research and Development organisation that functions as an advisor to the Malaysian Government on technologies, policies and strategies relating to IT.
Get Professionally Certified
Upon successfully completing this program, participants will be awarded the Professional Certification in Python Data Science by International Council for Technology Certifications (ICTC).
This award is a validation to the efforts taken to master the domain expertise that will set you apart from your competition.
Be a part of the global network of data science professionals and join the community across sectors.
ReactJS Training FAQs
1Do I Get A Certificate At The End Of The Course?
Yes.You will get a certificate at the end of the course from Thulija Academy.
2How Will The Labs Be Conducted?
Labs will be conducted through online means. Recorded playbacks are provided to participants after the sessions are over.
Get in Touch With Us Today!
This training program is suitable for anyone who intends to enter into the field of Software Development. This program is being conducted in Malaysia and can be joined by anyone, anywhere in the world remotely.
Program Fee
RM 3,700.00
One-time fee. One year access to course materials.
READY TO KICKSTART YOUR CAREER?
Please fill in the form and a Program Advisor will reach out to you. You can also reach out to us at info@thulija.com or +60123661502
Contact us on Whatsapp for more enquiries