React with Flux, Redux & React Router
React, or React.js is an open source javascript library from Facebook used for view rendering in large scale or single page application (SPA). It encourages the creation of reusable UI components which present data that changes over time. React can also render on the server using Node, and it can power native apps using React Native.
Prerequisites:
- Thorough understanding of JavaScript
- Knowledge of jQuery, HTML events and bootstrap is highly helpful
Objectives
In this course, you will learn:
- Understand what React is and what problems it solves
- Gain a deeper knowledge of JSX
- Implementing Flux Architecture with React
- React Redux framework
- Implement unit tests for React components
- Learn React best practices
Audience
This training is for the Javascript developers which are diving into the ReactJS library for the first time.
Day 1
What is React
- What react is and what it is not
- Advantages
- Limitations
- How react works
Introduction to JSX
- Virtual DOM
- JS vs JSX
- React Components
- HTML attributes e.g. class and id etc
- Child Components and Namespaced components
- Javascript expressions in JSX like attribute, boolean or child expression
Setting up your ReactJS Development Environment
- Look at an ReactJS application in Plunker
- Setup Cloud9
- Using npm & package.json file
- Webpack & ES6 Introduction
- Organizing your source code
- React browser plugin
Day 2
Creating a simple React Application
- A simple react component with JSX template
- Nesting Components
- React render
- React Props
- Props validation with data types
- States, Initialize states and update states
React UI and Forms
- Form components e.g. input, textarea
- Controlled form components
- Uncontrolled form components
- Checkboxes and Radios
- Select box with default selected value
- Form validation
- Styles
- Animation Introduction
Component Life Cycle
- Initial Render
- Props Change
- Stage Change
- Component Unmount
Day 3
React Router and Other JS concepts
- React Router configuration
- Router History
- If-else in JSX
- IIFE in JSX for complex logic
Event Handling in JSX
- onClick, onKeyUp and other useful events in React
- Sharing events across the components.
React Styles
- CSS and inline styles
- Setting up the react for React bootstrap
- Implementing the react bootstrap components
React Router & Navigation
- Loading the router library
- Router configuration
- Passing and receiving parameters
- React-cookie integration