Overview of ReactJS
This workshop is aimed at imparting the required knowledge required to build Rich Internet Applications (RIA) using React.js.
At the end of this training course, the participants will:
Please find below the objective of the session:
- To understand what React.js is and what problem it solves
- The basic architecture of a React.js application
- To gain a deeper knowledge of React.js components and JSX
- Build a working application that uses React.js’s components
- Learn React.js best practices
- Compose an application using Flux architecture
- Learn how to maintain application state in a Redux Store
- Learn how to do module bundling using webpack
- Use React dev tools
Past Occurances Of This Program
- Sapient, Gurgaon
- Wipro, Chennai
- Accenture, Hyderabad
- LearningMate, Kolkata
- Alcatel Lucent, Chennai
- Walmart, Bangalore
- Nutanix, Bangalore
Trainer
K. MAGESH
GitHub – http://github.com/tkmagesh
LinkedIn – http://in.linkedin.com/in/tkmagesh
Suggested Audience
Web developer who wants to build best-of-breed web UIs with the simplicity and elegance of JavaScript.
Duration
3 Days
Prerequisite for ReactJS
Must-Have
- Web development experience with an intermediate level of expertise in JavaScript.
Good to Have
- Understanding of any server technology (J2EE, .NET, Ruby, etc)
Infrastructure Requirements
- Node.js
- Good Text / JavaScript Editor (Notepad++ / SublimeText / Brackets / Atom )
- Chrome
- Internet Connection (Mandatory with permissions to install npm modules from git on demand)
Self Study
- Function Invocation Patterns – http://doctrina.org/Javascript-Function-Invocation-Patterns.html
- Closures – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
- Inheritance – https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Inheritance
- Functional programming in JS – https://opensource.com/article/17/6/functional-javascript
- Observables & RxJS – https://www.learnrxjs.io/
Course Outline for ReactJS
New in ES6
- Classes
- let and const
- Arrow functions
- Enhanced Object Literals
- Destructuring
- Spread Operator
- Generators and Iterators
- Symbols
- Comprehensions
- Async Programming using Promises
- Using Babel.js
RIA/SPA Basics
- Classic Web applications vs Rich Internet applications
- Challenges in building Client centric applications
- Benefits of RIA Frameworks
- Where React.js fits in?
Building UI using React.js
- Introduction
- Need for React.js
- Advantages of Virtual DOM
- View Components using JSX
- JSX Syntax
- Using JSX to create view classes
- Creating views without using JSX
- Models
- Advantages of Immutability
- Components
- Component Life-Cycle
- Virtual DOM
- Component Events
- Using States and Properties
- Initializing States from properties
- Accessing DOM nodes using refs
- Synthetic Events
- Component Compositions
- Communication Between Components
- Reusable Components
- Forms
- Controlled Components
- Uncontrolled Components
- React.js Best Practices
- Developer Tools
- React Dev Tools
- ADVANCED REACT.JS
- React Hooks
- Stateful & Stateless components
- Higher order components with State
- Hooks introduction
- Using the State hook
- Using the Effects hook
- Using the Context hook
- Creating Custom hooks
- Error Boundaries
- Handling Errors in React Components
- Uncaught Errors
- Identifying Error Boundaries
- Handling Errors at the Error Boundaries
- ComponentDidCatch event
Flux Architecture and Redux
- Introduction
- Overview of Reactive programming
- Benefits of Unidirectional data flow
- Architecture
- Building blocks in Flux
- Dispatcher
- Stores
- Action
- Views
- Dispatcher
- The role of dispatcher
- Registering callbacks
- Triggering Actions
- Store
- The role of Store
- Maintain Application State
- Event Broadcasting
- Reducer
- Creating Reducers
- Retrieving State
- Combining Reducers
- Action Creator
- Creating Actions
- Dispatching actions to the dispatcher
- Using Middlewares
- Dispatching Async Actions using Thunk middleware
- Views
- React Components as Views
- State Subscribers
- Updating data from the store
- React-Redux Bindings
- Binding Components to React Store using “Connect”
- Injecting Redux Store using Provider
- Using Providers with React Routers
- Middlewares
- Using Middlewares
- Creating Custom Middlewares
- Logger Middleware
- Async Middleware
- Promise Middleware